MySQL indexek
Mostanság egy új statisztikai rendszeren dolgozgatok, és meg kell vallani alábecsültem a dolog nagyságát.
Naponta elég tekintélyes mennyiségű adat keletkezik, amiben a túrkálás már eléggé megdobta a betöltődési időt.
Így utánanéztem, hogy lehet gyorsítani a dolgon.
MySQL-ben lehet kulcsokat, indexeket rendelni az egyes mezőkhöz.
Érdemes azokhoz a mezőkhöz kulcsot rendelni amelyeket a találatok szűrésekor ellenőrzünk.
Pl.: SQL query: SELECT `cikkid`, `category` FROM `cikkek` WHERE `cikkid` = 'cikk-id' AND `category` = 'Vicces'
Itt ugyebár a cikkid és category mezőket nézzük, hogy mi a tartalmuk és aszerint adja vissza a lekérés a találatokat amelyik mezőre érvényes a lekérés úm. logikája.
Indexek nélkül a találatokat úgy adja vissza, hogy a MySQL motor átnézi az összes sor összes mezőjét és amelyik egyezik azt visszaadja. Lényegében.
Ha viszont megadunk egy Elsődleges indexet egy mezőre, akkor azzal a mezővel kezdi a keresést, így a terheltség és a lekérés<->válasz közötti idő is csökken.
Legjobb példa a FeryService.hu.
Egy oldal átlagos betöltődési ideje 0,05 és 0,6 másodperc körül van.
Persze ez még nem a legjobb idő, de ahhoz képest, hogy a "bevezetése" előtt a legkevesebb 0,6 másodperc volt, ahhoz képest sokkal gyorsabb.
Így utánanéztem, hogy lehet gyorsítani a dolgon.
MySQL-ben lehet kulcsokat, indexeket rendelni az egyes mezőkhöz.
Érdemes azokhoz a mezőkhöz kulcsot rendelni amelyeket a találatok szűrésekor ellenőrzünk.
Pl.: SQL query: SELECT `cikkid`, `category` FROM `cikkek` WHERE `cikkid` = 'cikk-id' AND `category` = 'Vicces'
Itt ugyebár a cikkid és category mezőket nézzük, hogy mi a tartalmuk és aszerint adja vissza a lekérés a találatokat amelyik mezőre érvényes a lekérés úm. logikája.
Indexek nélkül a találatokat úgy adja vissza, hogy a MySQL motor átnézi az összes sor összes mezőjét és amelyik egyezik azt visszaadja. Lényegében.
Ha viszont megadunk egy Elsődleges indexet egy mezőre, akkor azzal a mezővel kezdi a keresést, így a terheltség és a lekérés<->válasz közötti idő is csökken.
Legjobb példa a FeryService.hu.
Egy oldal átlagos betöltődési ideje 0,05 és 0,6 másodperc körül van.
Persze ez még nem a legjobb idő, de ahhoz képest, hogy a "bevezetése" előtt a legkevesebb 0,6 másodperc volt, ahhoz képest sokkal gyorsabb.