Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Gibt es eine Möglichkeit, die Leistung der MySQL-Indizierung zu überprüfen?

Die folgende Abfrage sagt Ihnen, ob die Abfrage den Index verwendet oder nicht:

EXPLAIN EXTENDED SELECT col1, col2, col3, COUNT(1) 
FROM table_name 
WHERE col1 = val 
GROUP BY col1 
ORDER BY col2;

SHOW WARNINGS;

Sie können für eine optimale Leistung einen Deckindex hinzufügen.

Um den Index abzudecken, fügen Sie zuerst Spalten hinzu, die in where-Klauseln verwendet werden, dann Spalten, die in group by verwendet werden, die Spalten, die in order by verwendet werden, und dann Spalten, die in select verwendet werden.

z.B. Für die obige Abfrage können Sie den abdeckenden Index KEY(col1, col2, col3) hinzufügen

*Hinweis Das Hinzufügen weiterer Indizes verlangsamt Ihre Einfügeabfragen.