Heim >Datenbank >MySQL-Tutorial >Was macht ein MySQL-Index?

Was macht ein MySQL-Index?

little bottle
little bottleOriginal
2019-05-10 16:55:377033Durchsuche

Der Index in der Datenbank ähnelt dem von einer Universitätsbibliothek erstellten bibliografischen Index, wodurch die Effizienz des Datenabrufs verbessert und die IO-Kosten der Datenbank gesenkt werden können. Bei etwa 3 Millionen Datensätzen beginnt die Leistung von MySQL allmählich zu sinken. Daher ist die Erstellung von Indizes bei großen Datenmengen unbedingt erforderlich.

Was macht ein MySQL-Index?

MySQLs offizielle Definition von Index lautet: Index ist eine Datenstruktur, die MySQL dabei hilft, Daten effizient zu erhalten.

Wir können es einfach verstehen als: eine Datenstruktur, die schnell durchsucht und sortiert werden kann.

Der MySQL-Index hat hauptsächlich zwei Strukturen: B+Tree-Index und Hash-Index.

Was wir normalerweise als Index bezeichnen, bezieht sich, sofern nicht anders angegeben, im Allgemeinen auf einen Index, der in einer B-Baumstruktur (B+Baum-Index) organisiert ist. Der Index ist im Bild oben dargestellt.

Der äußerste hellblaue Plattenblock 1 enthält die Daten 17, 35 (dunkelblau) und die Zeiger P1, P2, P3 (gelb). Der P1-Zeiger repräsentiert Plattenblöcke mit weniger als 17, P2 liegt zwischen 17 und 35 und P3 zeigt auf Plattenblöcke mit mehr als 35. Echte Daten sind in Keimblattknoten vorhanden, also in der unteren Schicht 3, 5, 9, 10, 13 ... Nicht-Blattknoten speichern keine echten Daten, sondern nur Datenelemente, die die Suchrichtung bestimmen, wie z. B. 17, 35 .

Suchvorgang: Um beispielsweise nach 28 Datenelementen zu suchen, laden Sie zuerst Plattenblock 1 in den Speicher, es erfolgt eine E/A und verwenden Sie die binäre Suche, um den P2-Zeiger zu ermitteln. Dann wird festgestellt, dass 28 zwischen 26 und 30 liegt, Plattenblock 3 wird über die Adresse des P2-Zeigers in den Speicher geladen und die zweite E/A erfolgt. Plattenblock 8 wird auf die gleiche Weise gefunden und die dritte E/A erfolgt.

Die tatsächliche Situation ist, dass die oben genannten drei Schichten von B+Tree Millionen von Daten darstellen können, was die Zeit enorm verkürzt.

Das obige ist der detaillierte Inhalt vonWas macht ein MySQL-Index?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn