Verwendet MySQL Index zum Sortieren ...

8

Verwendet eine Sortierung einen mysql-Index, wenn es einen Index für die Sortierspalte gibt? Für welche anderen Dinge wird der Index verwendet?

Welchen Unterschied macht es in einem kombinierten und separaten Index der Spalten?

    
Anush 28.07.2011, 12:18
quelle

2 Antworten

19

Ja, MySQL verwendet Ihren Index, um die Informationen zu sortieren, wenn die Reihenfolge in der sortierten Spalte liegt.

Wenn Sie in allen Spalten Indizes haben, die Sie der SELECT -Klausel hinzugefügt haben, lädt MySQL die Daten nicht aus der Tabelle selbst, sondern aus dem Index (der schneller ist).

Der Unterschied zwischen kombinierten und separaten Indizes besteht darin, dass MySQL nicht mehr als einen Index pro Abfrage verwenden kann. Wenn Ihre Abfrage also nach vielen Spalten gefiltert wird und Sie möchten, dass sie richtig indiziert wird müssen einen kombinierten Index aller Spalten erstellen.

Bevor Sie jedoch viele Indizes zu Ihren Tabellen hinzufügen, denken Sie daran, dass jeder Insert Operationen mit insert / update / delete langsamer macht.

Ich würde auch das High Performance MySQL Buch von O'Reilly wärmstens empfehlen Tiefe all diese Probleme und viele andere Hinweise, die Sie brauchen um zu wissen, dass Sie MySQL wirklich bis zum Limit einsetzen können.

    
Maurício Linhares 28.07.2011, 12:23
quelle
1

Indizes werden nicht nur zum Sortieren, sondern auch zum AUSWÄHLEN verwendet.

z. select * from mytable where id = 1 verwendet einen Index für die ID-Spalte, falls es eine gibt.

    
Brian 28.07.2011 12:26
quelle

Tags und Links