Optimeerige oma päringuid päringu vahemälu jaoks
Enamikul MySQL -serveritel on päringute vahemällu salvestamise õigus. See on üks parimaid strateegiaid jõudluse suurendamiseks, mille eest hoolitseb märkamatult andmebaasimootor. Kui sama päringut käivitatakse mitu korda, tuleb tulemus vahemälust, seega palju kiiremini.
SELGITAGE SELECTi päringuid
Et saada ülevaade sellest, mida MySQL teie päringu käivitamiseks teeb, kasutage märksõna EXPLAIN. See aitab tuvastada kitsaskohti ja muid probleeme, mis võivad teie päringut või muid andmebaasi objekte häirida.
PIIR 1 Unikaalse rea hankimisel
Kui esitate tabelitele päringuid ainult ühe rea kohta või kui WHERE klauslile vastavad kirjed on olemas, soovitatakse toimivuse suurendamiseks lisada päringule SELECT lisada LIMIT 1. See tähendab, et andmebaasimootor tagastab tulemused pärast seda, kui on leidnud ainult ühe kirje, selle asemel, et kogu antud andmebaasi objekt läbi skaneerida.
Indeksige otsinguväljad
Kui teie tabelites on veerge, mida te kasutate otsi järgi päringuid, on soovitatav need alati indekseerida.
Indekseerige ja kasutage ühendamiseks samu veerunimesid
Samuti on hea tava indekseerida alati JOINis kasutatavad veerud. See parandab oluliselt seda, kuidas MySQL optimeerib JOIN -toimingut. Samuti veenduge, et ühendatavad veerud oleksid sama tüüpi. Kui neid on erinevat tüüpi, ei pruugi MySQL üht indekseid kasutada.
Vältige kõigi valimist (SELECT *)
Tabelitest loetud andmete hulk mõjutab oluliselt päringu kiirust. See mõjutab kettaoperatsioonide jaoks kuluvat aega. Kui andmebaasiserverile pääseb juurde võrgu kaudu, mõjutab see andmete ülekandmiseks võrgu kaudu kuluvat aega. See on üks MySQL -i parimaid tavasid, et SELECT -i tegemisel alati määrata, milliseid veerge vajate.
Valige õige salvestusmootor
MySQL -il on kaks peamist salvestusmootorit; MyISAM ja InnoDB. Igal neist on oma eelised ja puudused.
MyISAM on soovitatav lugemismahukate rakenduste jaoks, kuigi see toimib halvasti juhtudel, kui kirjutatakse palju. Andmebaasi objektid lukustatakse, kui nendega toiming tehakse, olenemata nende lihtsusest. MyISAM oleks abiks paljude SELECT COUNT (*) päringute tegemisel.
InnoDB kipub olema keerukam salvestusmootor. Paljude väikeste rakenduste puhul võib see olla MyISAM -ist pisut laisem. Kuid see toetab reapõhist lukustamist, mis skaleerib paremini. See saab hakkama ka mõne keerukama funktsiooniga, näiteks tehingutega.
Allikad
https://www.fullstackpython.com/blog/install-mysql-ubuntu-1604.html
https://code.tutsplus.com/tutorials/top-20-mysql-best-practices–net-7855