Besvarelse af dine spørgsmål:
-
Er
possible_keys
indekserne MySQL måtte ønske at bruge ogkeys
er de indekser, som MySQL rent faktisk bruger? Ja dette er korrekt. -
Hvorfor er indekset
index_status_mit_spam
anvendes ikke? I forespørgslen har kolonnerne samme rækkefølge som i indekset. SQL bruger statistik på tabellens indekser for at bestemme hvilket indeks der skal bruges. rækkefølgen af felter i select-sætningen har INGEN effekt på hvilket indeks der skal bruges. Statistik omkring indekser inkluderer information såsom indeksets unikke og andre ting. Der vil sandsynligvis blive brugt mere unikke indekser. Læs mere om dette her:http ://dev.mysql.com/doc/innodb/1.1/da/innodb-other-changes-statistics-estimation.html eller her:http://dev.mysql .com/doc/refman/5.0/en//myisam-index-statistics.html . Disse faktorer bestemmer, hvordan MySQL vil vælge det ene indeks at bruge. Den vil kun bruge ET indeks . -
Hvorfor er indekset
index_datum
ikke brugt tilORDER BY
? MySQL vil kun bruge et indeks ikke to under en forespørgsel, da brug af et andet indeks vil bremse forespørgslen endnu mere. At læse et indeks er IKKE at læse tabellen. Dette er relateret til den operationelle effektivitet af forespørgslen. Her er svar, der kan forklare nogle begreber:https://dba.stackexchange.com/questions/18528/performance-difference-between-clustered-and-non-clustered-index/18531#18531 Eller Tilføjelse af grænseklausul til MySQL-forespørgsel sænker det dramatisk Eller MySQL-indekser, og hvornår skal grupperes dem . Disse svar har mange detaljer, som vil hjælpe dig med at forstå MySQL-indeksering. -
Hvordan kan jeg optimere mine tabelindekser eller forespørgslen? (Forespørgslen ovenfor tager op til 3 sekunder med omkring en million poster i tabellen). Nå, der er en filsortering her, der sandsynligvis bremser dig. Det kan være, at tabellen har for mange indekser, og MySQL vælger det forkerte.
Du skal forstå, at indekser fremskynder læsninger og sinker skrivninger til tabeller. Så det er ikke altid en god idé at tilføje indekser. Ovenstående svar og tips bør hjælpe dig med at få en solid forståelse.