Wenn eine Tabelle fast komplett in den Hauptspeicher passt, sind
Hash-Indizes das schnellste Mittel, um Anfragen auszuführen.
InnoDB hat einen Mechanismus, der
Index-Suchen auf den Indizes einer Tabelle beobachtet. Wenn
InnoDB bemerkt, dass Anfragen von einem
Hash-Index profitieren könnten, baut es automatisch einen auf.
Beachten Sie, dass der Hash-Index immer auf einem vorhandenen
B-Baum-Index der Tabelle aufbaut. InnoDB kann
einen Hash-Index auf einem beliebig langen Präfix des für den
B-Baum definierten Schlüssels aufbauen, je nachdem, welches
Suchmuster InnoDB für den B-Baum-Index
beachtet. Ein Hash-Index kann auch partiell sein: Es ist nicht
notwendig, den gesamten B-Baum-Index im Bufferpool zu cachen.
InnoDB baut Hash-Indizes nach Bedarf für
diejenigen Indexseiten auf, die oft angesprochen werden.
In gewissem Sinne legt sich InnoDB durch den
anpassungsfähigen Hash-Index-Mechanismus selbst auf einen
großen Arbeitsspeicher hin aus und kommt dadurch der
Architektur von Hauptspeicher-Datenbanken näher.
Dies ist eine Übersetzung des MySQL-Referenzhandbuchs, das sich auf dev.mysql.com befindet. Das ursprüngliche Referenzhandbuch ist auf Englisch, und diese Übersetzung ist nicht notwendigerweise so aktuell wie die englische Ausgabe. Das vorliegende deutschsprachige Handbuch behandelt MySQL bis zur Version 5.1.
