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.