1. Einleitung Nach dem Start von MySQL wird BufferPool initialisiert. Bevor Sie Abfragevorgänge ausführen, sind die Cache-Seiten in BufferPool leere Speicherblöcke, die noch nicht verwendet wurden und in denen keine Daten gespeichert sind. Und Sie wissen auch, dass die Cache-Seite, auf die es verweist, direkt und eindeutig über die Beschreibungsinformationen der Cache-Seite gefunden werden kann. Haben Sie schon einmal darüber nachgedacht, auf welcher Pufferseite die Datenseite abgelegt werden soll, die wir von der Festplatte lesen? Dieses Problem führt zur Anzeige der Freiliste. 2. Kostenlose Liste Tatsächlich handelt es sich bei der Free List um eine bidirektional verknüpfte Liste, die im Buffer Pool basierend auf Cache-Seitenbeschreibungsinformationen organisiert ist. Mit anderen Worten: Jeder Knoten in der freien Liste enthält die Beschreibungsinformationen, die der Cache-Seite entsprechen. Und die angegebene Cache-Seite (Cache-Seite) finden Sie über die Beschreibungsinformationen Die ursprüngliche Absicht von InnoDB bei der Entwicklung von Free Lists besteht darin, die oben genannten Probleme zu lösen. Wenn auf dieser Cache-Seite keine Daten gespeichert sind, werden die entsprechenden Beschreibungsinformationen in der Free List verwaltet. Wenn Sie zu diesem Zeitpunkt eine von der Festplatte gelesene Datenseite in die Cache-Seite einfügen möchten, müssen Sie zuerst einen Knoten in der freien Liste suchen (alle Knoten in der freien Liste verweisen auf eine Cache-Seite, die noch nie verwendet wurde). Anschließend können Sie die gelesene Datenseite in die Cache-Seite einfügen, auf die der Knoten verweist. Entsprechend: Nachdem die Daten in die Datenseite eingefügt wurden. Der entsprechende Beschreibungsinformationsblock wird aus der Freiliste entfernt. 3. Wie kann festgestellt werden, ob sich die Datenseite im Cache befindet? Fragen Sie sich, woher MySQL weiß, ob sich die gerade gelesene Datenseite auf der Cache-Seite befindet? Die Implementierung dieser Funktion basiert auf einer anderen Datenstruktur: Hash-Tabelle Schlüssel = Tablespace-Nummer + Datenseitennummer Wert = Cache-Seitenadresse Wenn es in der Hash-Tabelle vorhanden ist, bedeutet dies, dass die Datenseite bereits im Pufferpool vorhanden ist und die Cache-Seite im Pufferpool zuerst verwendet wird. Ich glaube, Sie können definitiv erraten, warum die Cache-Seiten im Pufferpool zuerst verwendet werden! Erstens wird zufälliger Festplatten-E/A vermieden. Zweitens kann es sich bei den Daten auf der Cache-Seite um geänderte, schmutzige Daten handeln. Oben finden Sie eine ausführliche Erläuterung des FreeList-Mechanismus von MySQL. Weitere Informationen zum FreeList-Mechanismus von MySQL finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM! Das könnte Sie auch interessieren:
|
<<: Umfassendes Verständnis von Zeilenhöhe und vertikaler Ausrichtung
Lassen Sie uns kurz die Konfiguration von Server ...
Tomcat definiert intern mehrere ClassLoader, soda...
1. Verwenden Sie den Curl-Befehl für den Standard...
Während der Entwicklung wurden die folgenden Situ...
Inhaltsverzeichnis 1. CDN-Einführung 1.1 reagiere...
Hallo zusammen, heute ist Double 12, habt ihr sch...
In diesem Artikel wird der spezifische Code für d...
Dieser Artikel beschreibt, wie man eine PHP7 + Ng...
Weitere spannende Inhalte finden Sie unter https:...
Inhaltsverzeichnis Hbase-Installation und -Konfig...
Was ist Lastenausgleich? Der Lastausgleich wird h...
1. Einleitung Ich möchte Selenium verwenden, um D...
Vorwort In diesem Artikel erfahren Sie hauptsächl...
Inhaltsverzeichnis Vorwort: Freundliche Tipps: Va...
Inhaltsverzeichnis 1. Vorbereitung 2. Definieren ...