Uw vragen beantwoorden:
-
Is
possible_keys
de indexen die MySQL mogelijk wil gebruiken enkeys
zijn de indices die MySQL daadwerkelijk gebruikt? Ja, dit klopt. -
Waarom is de index
index_status_mit_spam
niet gebruikt? In de query hebben de kolommen dezelfde volgorde als in de index. SQL gebruikt statistieken over de indexen van de tabel om te bepalen welke index moet worden gebruikt. De volgorde van velden in de select-opdracht heeft GEEN effect op welke index te gebruiken. Statistieken rond indexen bevatten informatie zoals uniciteit van de index en andere dingen. Er zullen waarschijnlijk meer unieke indexen worden gebruikt. Lees hier meer over:http ://dev.mysql.com/doc/innodb/1.1/en/innodb-other-changes-statistics-estimation.html of hier:http://dev.mysql .com/doc/refman/5.0/en//myisam-index-statistics.html . Deze factoren bepalen hoe MySQL de ene index selecteert gebruiken. Het gebruikt slechts ÉÉN index . -
Waarom is de index
index_datum
niet gebruikt voor deORDER BY
? MySQL gebruikt slechts één index en niet twee tijdens een zoekopdracht, omdat het gebruik van een tweede index de zoekopdracht nog meer zal vertragen. Het lezen van een index is NIET het lezen van de tabel. Dit heeft te maken met de operationele efficiëntie van de query. Hier zijn antwoorden die enkele concepten kunnen verklaren:https://dba.stackexchange.com/questions/18528/performance-difference-between-clustered-and-non-clustered-index/18531#18531 Of Het toevoegen van een limietclausule aan de MySQL-query vertraagt het drastisch Of MySQL-indexen en wanneer groeperen ze . Deze antwoorden bevatten veel details die u zullen helpen MySQL-indexering te begrijpen. -
Hoe kan ik mijn tabelindexen of de query optimaliseren? (De bovenstaande zoekopdracht heeft maximaal 3 seconden nodig met ongeveer een miljoen vermeldingen in de tabel). Welnu, er is hier een bestandssortering die u waarschijnlijk vertraagt. Het kan zijn dat de tabel te veel indexen heeft en MySQL de verkeerde selecteert.
U moet begrijpen dat indexen het lezen versnelt en het schrijven naar tabellen vertraagt. Dus alleen indexen toevoegen is niet altijd een goed idee. De bovenstaande antwoorden en aanwijzingen zouden u moeten helpen een goed begrip te krijgen.