#🎜🎜 ## 🎜🎜#
Verwenden Sie den Primärschlüssel als Suchbedingung: Dies ist die im vorherigen Artikel erwähnte Methode. Verwenden Sie die Dichotomiemethode, um den Slot im Seitenverzeichnis schnell zu finden, und durchsuchen Sie dann die Datensätze, die der Gruppe entsprechen Steckplatz und finden Sie schließlich den angegebenen Datensatz.Fügen Sie zu diesem Zeitpunkt weiterhin 1 Datensatz ein. Im hypothetischen Fall muss mindestens eine neue Seite zugewiesen werden, sodass die beiden Seiten neu zugewiesen und neu angeordnet werden.
Bitte beachten Sie, dass die beiden in roter Schrift angezeigten Datensätze einen neu eingefügten Datensatz mit einem Primärschlüssel von 4 enthalten, der auf einer neuen Seite platziert werden sollte . Um jedoch die Anforderung zu erfüllen, dass der Primärschlüsselwert des Benutzerdatensatzes auf der nächsten Seite größer sein muss als der Primärschlüsselwert des Benutzerdatensatzes auf der vorherigen Seite, können auch Vorgänge wie das Verschieben von Datensätzen ausgeführt werden wird als „Seitenaufteilung“ bezeichnet.
Und warum ist die neue Seite Seite 28 und nicht 11? Da die Seiten auf der Festplatte möglicherweise nicht nebeneinander liegen, stellen sie lediglich eine verknüpfte Listenbeziehung her, indem sie die Nummern der vorherigen Seite und der nächsten Seite beibehalten. 2. Erstellen Sie einen Verzeichniseintrag für alle Seiten Fügen Sie nun weiterhin Daten zur Tabelle hinzu:Jede Seite entspricht einem Verzeichniseintrag. Jeder Verzeichniseintrag enthält:
Der kleinste Primärschlüsselwert im Benutzerdatensatz der Seite. Die Verwendung von Schlüssel stellt
Seitenzahl dar, und page_no stellt
dar. Also, nach der Katalogisierung, eine solche Beziehung :
# 🎜🎜#Verwenden Sie die Dichotomiemethode, um anhand des Verzeichniseintrags schnell festzustellen, dass sich der Datensatz mit einem Primärschlüsselwert von 20 in Verzeichniseintrag 3 befindet und die Seitennummer, auf der er sich befindet, 9 ist. Da Sie wissen, dass es sich auf Seite 9 befindet, wiederholen Sie den vorherigen Ansatz, um den endgültigen Zieldatensatz zu finden.
An diesem Punkt ist eine einfache Lösung abgeschlossen. Das fertige einfache Verzeichnis hat einen Alias namens Index. 3. Durch den einfachen Index aufgedeckte Probleme Der oben genannte einfache Index ist der vom Autor des Originalbuchs erstellte Inhalt, um den Lesern das Verständnis Schritt für Schritt zu erleichtern ist nicht das Indexierungsschema von innodb . Schauen Sie sich dann den oben vorgeschlagenen Index an und sehen Sie, welche Probleme es gibt. Frage 1: InnoDB verwendet Seiten als Grundeinheit für die Speicherplatzverwaltung, was bedeutet, dass nur bis zu 16 KB kontinuierlicher Speicher eingespart werden können. Wenn die Tabelle immer mehr Datensätze enthält, wird ein sehr großer kontinuierlicher Speicherplatz benötigt, um alle Verzeichniseinträge aufzunehmen, was für Tabellen mit großen Datenmengen unrealistisch ist.Frage 2:
Wir müssen oft Datensätze hinzufügen, löschen und ändern, was sich auf den gesamten Körper auswirken kann.
Wenn ich beispielsweise alle Datensätze auf Seite 28 im Bild oben lösche, muss Seite 28 nicht vorhanden sein und Verzeichniseintrag 2 muss nicht vorhanden sein. Zu diesem Zeitpunkt müssen Sie die Verzeichniselemente nach Verzeichniselement 2 nach vorne verschieben.
Auch wenn es nicht verschoben wird, wird durch das Platzieren von Verzeichniseintrag 2 als redundant in der Verzeichniseintragsliste immer noch viel Speicherplatz verschwendet.
Das obige ist der detaillierte Inhalt vonEinfache MySQL-Indexplananalyse. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!