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

Mehrfach- und Einzelindizes

Ja, mindestens ein Fall ist erheblich langsamer. Wenn Sie nur den folgenden Index definieren:

ALTER TABLE ... ADD INDEX (a, b);

... dann die Abfrage SELECT * FROM ... WHERE B = 1; wird diesen Index nicht verwenden.

Wenn Sie einen Index mit einem zusammengesetzten Schlüssel erstellen, ist die Reihenfolge der Spalten des Schlüssels wichtig. Es wird empfohlen, die Spalten im Schlüssel zu ordnen, um die Selektivität zu verbessern, wobei sich die selektivsten Spalten ganz links im Schlüssel befinden. Wenn Sie dies nicht tun und eine nicht-selektive Spalte als ersten Teil des Schlüssels verwenden, riskieren Sie, den Index überhaupt nicht zu verwenden. (Quelle:Tipps zur Optimierung des zusammengesetzten Index von SQL Server )