Heim  >  Artikel  >  Datenbank  >  Einführung des Änderungspuffers im MySQL-Pufferpool

Einführung des Änderungspuffers im MySQL-Pufferpool

coldplay.xixi
coldplay.xixinach vorne
2021-03-29 09:47:551958Durchsuche

Einführung des Änderungspuffers im MySQL-Pufferpool

4 Änderungspuffer

4.1 Grundkonzept

Änderungspuffer ist eine spezielle Datenstruktur, die Änderungen an sekundären Indexseiten zwischenspeichert, wenn sich diese Seiten nicht im Pufferpool befinden. Pufferänderungen, die durch INSERT-, UPDATE- oder DELETE-Vorgänge (DML) verursacht werden können, werden später zusammengeführt, wenn die Seite durch andere „Lesevorgänge“ in den Pufferpool geladen wird.

Verwandte kostenlose Lernempfehlungen:
MySQL-Video-Tutorial

Wie im Bild oben zu sehen ist, nutzt der Änderungspuffer den Speicher im Pufferpool, sodass er nicht unendlich wachsen kann. Die Größe des Änderungspuffers kann dynamisch über den Parameter innodb_change_buffer_max_size festgelegt werden.
Bei Einstellung auf 50 kann die Größe des Änderungspuffers beispielsweise nur bis zu 50 % des Pufferpools belegen.


Wenn eine Datenseite aktualisiert werden muss: Die

-Seite befindet sich im Speicher und die
  • -Seite wird direkt aktualisiert, ohne die Datenkonsistenz zu beeinträchtigen. InooDB speichert diese Aktualisierungsvorgänge im Änderungspuffer zwischen, ohne sie von der Festplatte zu lesen . Die Seite
  • liest die Datenseite nur dann in den Speicher, wenn die nächste Abfrage auf die Datenseite zugreift, und führt dann Vorgänge im Zusammenhang mit dieser Seite im Änderungspuffer aus. Auf diese Weise kann die Korrektheit der Datenlogik sichergestellt werden.

Änderungspuffer sind eigentlich persistente Daten, das heißt, sie werden nicht nur in den Speicher kopiert, sondern auch auf die Festplatte geschrieben.

4.2 Zusammenführung

Der Prozess der Anwendung der Vorgänge im Änderungspuffer auf die Originaldatenseite, um die neuesten Ergebnisse zu erhalten. 4.2.1 Trigger-Timing Dies kann das Lesen der Festplatte reduzieren und die Ausführungsgeschwindigkeit der Anweisung erheblich verbessern. Und das Lesen von Daten in den Speicher erfordert die Belegung des Pufferpools, sodass auch die Speichernutzung reduziert und die Speichernutzung verbessert werden kann.

4.3 Wann soll der Änderungspuffer verwendet werden

Für einen eindeutigen Index muss der Aktualisierungsvorgang zunächst feststellen, ob der Vorgang gegen die Eindeutigkeitsbeschränkung verstößt:
    Um beispielsweise (4.400) Datensätze einzufügen, müssen Sie zunächst feststellen, ob k ist Der Datensatz ist bereits in der Tabelle = 4 gespeichert. Zur Beurteilung muss die Datenseite in den Speicher gelesen werden. Wenn alles in den Speicher eingelesen wurde, erfolgt die direkte Aktualisierung des Speichers sehr schnell und es ist nicht erforderlich, den Änderungspuffer zu verwenden.
  1. Daher kann für die Aktualisierung eines eindeutigen Index kein Änderungspuffer verwendet werden,
  2. es kann nur ein gewöhnlicher Index verwendet werden
  3. .
4.4 Anwendbare Szenarien

Können alle Szenarien der normalen Indizierung durch die Verwendung von Änderungspuffer beschleunigt werden? Beachten Sie, dass die Zusammenführung der Zeitpunkt ist, zu dem die Daten tatsächlich aktualisiert werden. Der Änderungspuffer speichert hauptsächlich die aufgezeichneten Änderungsaktionen zwischen. Daher gilt vor dem Zusammenführen einer Datenseite: Je mehr Änderungen der Änderungspufferdatensatz aufweist (d. h. je öfter die Datenseite aktualisiert werden muss), desto größer ist der Nutzen.

  • Schreiben Sie mehr und lesen Sie weniger. Die Wahrscheinlichkeit, dass direkt nach dem Schreiben auf die Seite zugegriffen wird, ist gering. Die Verwendung des Änderungspuffers hat die beste Wirkung. Üblicherweise werden Abrechnungs- und Protokollsysteme verwendet.

    Abfrage sofort nach dem Schreiben, und der neue Datensatz wird zuerst im Änderungspuffer aufgezeichnet, aber dann wird sofort auf die Datenseite zugegriffen und die Zusammenführung wird schnell ausgelöst. In diesem Fall wird die Anzahl der E/A mit wahlfreiem Zugriff nicht ausgelöst reduziert werden, aber die Wartungskosten des Änderungspuffers erhöhen.

Weitere verwandte kostenlose Lernempfehlungen:

MySQL-Tutorial

(Video)

Das obige ist der detaillierte Inhalt vonEinführung des Änderungspuffers im MySQL-Pufferpool. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen