MySQL-Abfrage-Cache und Pufferpool

MySQL-Abfrage-Cache und Pufferpool

1. Caches - Abfrage-Cache

Die folgende Abbildung stammt von der offiziellen MySQL-Website: Systemdiagramm der MySQL-Architektur.

Der Abfrage-Cache, auf den oft Bezug genommen wird, ist der Cache-Teil in der folgenden Abbildung.

Wenn MySQL in zwei Teile unterteilt ist: die Serverebene und die Speicher-Engine-Ebene, dann befinden sich die Caches in der Serverebene.

Darüber hinaus sollten Sie wissen:

Wenn eine SQL-Anweisung an den MySQL-Server gesendet wird, prüft der MySQL-Server zunächst den Abfragecache, um festzustellen, ob die SQL-Anweisung bereits zuvor ausgeführt wurde. Wenn sie bereits zuvor ausgeführt wurde, werden die Abfrageergebnisse der vorherigen Ausführung in Form von Schlüssel-Wert im Abfragecache gespeichert. Der Schlüssel ist die SQL-Anweisung und der Wert ist das Abfrageergebnis. Diesen Vorgang nennen wir Query-Caching!

Wenn sich die gesuchten Daten nicht im Abfragecache befinden, führt MySQL die nachfolgende Logik aus und ruft die Daten über die Speicher-Engine ab. Und der Abfragecache wird ein gemeinsam genutzter Cache für Sitzungen sein, ja, er wird von allen Sitzungen gemeinsam genutzt.

Nachteile des Abfragecaches:

Solange ein SQL-Update für die Tabelle vorliegt, wird der Abfragecache der Tabelle ungültig. Wenn also der Anteil der CRUD-Tabellen in Ihrem Unternehmen ähnlich ist, kann der Abfragecache die Durchsatzeffizienz der Anwendung beeinträchtigen.

Sie können die Abfragezwischenspeicherung deaktivieren, indem Sie den Parameter query_chache_type=demand festlegen. Und in der MySQL-Version 8.0 wurde das Abfrage-Cache-Modul gelöscht.

Sie können daher in Ihrer individuellen Situation abwägen, ob die Deaktivierung einer Funktion notwendig ist.

Pufferpool

Wenn MySQL in zwei Teile unterteilt ist: die Serverebene und die Speicher-Engine-Ebene, dann befindet sich der Pufferpool in der Speicher-Engine-Ebene.

Tatsächlich weiß jeder, dass, egal ob es sich um einen Verbindungspool oder einen Cache-Pool handelt, solange es sich um einen XXX-Pool handelt, dieser auf Beschleunigung ausgelegt ist. Um beispielsweise das Lesen von Daten zu beschleunigen, entwickelt das Dateisystem des Betriebssystems jedes Mal einen gepufferten Schreibmechanismus für ineffiziente zufällige Festplatten-E/A.

Der Pufferpool ist ein Puffermechanismus, der von der MySQL-Speicher-Engine entwickelt wurde, um das Lesen von Daten zu beschleunigen. Der graue Teil im Bild unten ist die Mindmap von BufferPool. (Die Handschrift ist authentisch, sehr schön!)

Oben finden Sie Einzelheiten zum MySQL-Abfragecache und zum Pufferpool. Weitere Informationen zum MySQL-Abfragecache und zum Pufferpool finden Sie in den anderen verwandten Artikeln auf 123WORDPRESS.COM!

Das könnte Sie auch interessieren:
  • Hauptfunktionen von MySQL Innodb: Einfügepuffer
  • Detaillierte Erklärung des Pufferpools in MySQL
  • Wichtige Parameter für die MySQL-Optimierung key_buffer_size table_cache
  • Optimieren Sie die MySQL-Key_Buffer_Size-Einstellungen
  • Was ist die geeignete Einstellung für MySQL read_buffer_size?
  • MySQL-Sortierung abgebrochen: Nicht genügend Sortierspeicher, Erhöhen Sie ggf. die Größe des Server-Sortierpuffers
  • Analyse der Innodb-Puffer-Trefferquote-Berechnung aus dem MySQL-Quellcode
  • Detaillierte Erklärung der Verwendung des MySQL-Operationspuffers in PHP
  • Zwei wichtige Parameter bei der Mysql-Optimierung und -Abstimmung: table_cache und key_buffer
  • Optimierungseinstellung des MySQL-Parameters key_buffer_size
  • Untersuchungen zur Pufferpool-Verschmutzung durch mysqldump
  • MySQL-Joinpufferprinzip

<<:  Über Generika der C++ TpeScript-Reihe

>>:  Detailliertes Tutorial zur Installation des Apache-Quellcodes und zur Konfiguration des virtuellen Hosts

Artikel empfehlen

JavaScript zum Implementieren einer zeitlich begrenzten Flash-Sale-Funktion

In diesem Artikel wird der spezifische JavaScript...

Super detaillierte Schritte zur Installation von Zabbix3.0 auf Centos7

Vorwort Vor Kurzem wurde ein Teil der Geschäftstä...

Logrotate implementiert alle zwei Stunden die Catalina.out-Protokollrotation

1. Einführung in das Logrotate-Tool Logrotate ist...

Detaillierte Erklärung der Beziehung zwischen React und Redux

Inhaltsverzeichnis 1. Die Beziehung zwischen Redu...

5 MySQL-GUI-Tools, die Ihnen bei der Datenbankverwaltung empfohlen werden

Es gibt viele Datenbankverwaltungstools für MySQL...

Die normale Methode der MySQL-Deadlock-Prüfungsverarbeitung

Normalerweise wird bei einem Deadlock die Verbind...

Acht Hook-Funktionen in der Vue-Lebenszykluskamera

Inhaltsverzeichnis 1. beforeCreate und erstellte ...

Detaillierte Erklärung zur Verwendung von awk unter Linux

Bevor wir awk lernen, sollten wir sed, grep, tr, ...

Detaillierte Erklärung der Fallstricke beim Mischen von npm und cnpm

Inhaltsverzeichnis Ursache Grund Einführung in NP...

Interviewer stellen häufig Fragen zum Lebenszyklus von React

React-Lebenszyklus Zwei Bilder zum besseren Verst...