ursus contionabundo: mysql: Slowquery untersuchen

Beitrag lesen

WHERE Art="Z" AND ID="60829" AND B_Art="FF"

Bringt ein Index auf ID etwas?

Wird Nach nach ID gefragt? Ja? Dann: Ja!

Primary = B_ID (in der Query komplett unberücksichtigt) Key = R_ID (in der Query auch komplett unberücksichtigt)

Du brauchst für die obige Abfrage einen Index auf Art, auf ID und auf B_Art. Für andere Abfragen eventuell weitere.

Einfache Regel: Sobald eine Spalte in einem Vergleich hinter einem WHERE, AND, OR oder hinter ORDER auftaucht sollte diese indexiert sein. Es sei denn die Tabelle hat nur wenige Zeilen.