Mi a tapasztalat az új lehetőségeket a JSON mysql 5

MySQL 5.7 egy új típusú natív JSON adatok és egy sor SQL függvények vele dolgozni. Ma bemutatunk néhány egyszerű példát ilyen funkciók a bevitt adatok segítségével SF OpenData.

Ne hagyd ki a másik cikk ebben a témában - használata JSON MySQL.

import adatok

Fontos, hogy egy jó minőségű vizsgálati adatok, mert könnyebb ellenőrizni, hogy a pontos lekérdezés eredményét. akkor is van egy jó szerkezet, ami fontos, ha hozzá indexek.

Úgy döntöttünk, egy adathalmazt a SF OpenData körülbelül 200.000 pozíciókat. Először is, le és importálja őket az adatbázisba.

Minden dokumentum az alábbi űrlapot, és a föld által határolt pontot:

A mi esetünkben, mind a 200 ezer dokumentum azonos méret, de ez nem feltétlenül JSON MySQL - séma nélküli.

példák kérelmek

Kérdés 1: megtalálni egy darab földet elfoglalták az utca a neve „Market”

Az üzemeltető-csökkentés JSON_EXTRACT (->), akkor le tudja kérdezni a JSON oszlopok egy kényelmes módja. Syntax „$ .properties.STREET”, mint ami hasonló a CSS választók, hogy használják a jQuery. Tudjon meg többet a szintaxis JSON kérések lehet a dokumentáció

Kérdés 2: megtalálni az egész földet, ahol nem áll rendelkezésre utca:

Mivel JSON MySQL - schemaless úgy találja, az összes dokumentumot, amelyek nem rendelkeznek a szükséges szerkezetet. Ebben a példában azt látjuk, hogy az összes igazoló dokumentumot ingatlan $ .properties.STREET, így a lekérdezés egy null eredményt.

Összehasonlítás típusú JSON és TEXT

Ebben a példában fogjuk végrehajtani lekérdezést, amely feldolgozza az összes 200.000 JSON dokumentumokat. Ez lesz valami, mint egy kis teszt a teljesítményt, de használata nélkül indexek.

Mit csináltunk itt:

  • Az egyszerűség kedvéért, láttuk, hogy mindkét példában, az adatokat kerül a memóriában.
  • Furktsii dolgozni JSON, alias (->) az json_extract () ugyanúgy működik, mint az adatok típusát JSON és TEXT / BLOB / VARCHAR típusú. Ez nagyon hasznos a felhasználók számára, akik most frissített a MySQL 5.7, de már tárolja az adatokat JSON.
  • Látjuk, hogy a JSON típusú körülbelül 10-szer gyorsabb, mint a TEXT típus - 1,25 másodperc versus 12.85. Ez azzal magyarázható, hogy a natív JSON típus nem igényel semmilyen elemzési vagy tesztelési adatok, és hatékonyan lekérdezni a JSON dokumentumok.

JSON támogatási dokumentumokhoz már hozzá lekérdezés építő Laravel'a. És a jövőben, támogatás valószínűleg megjelenik más keretek között.

Ha nem talál választ a kérdéseire láthatjuk egy másik cikkben - A JSON MySQL.

Kapcsolódó cikkek