So führen Sie in MySQL eine Abfrage-Zwischenspeicherung durch und beheben Fehler

So führen Sie in MySQL eine Abfrage-Zwischenspeicherung durch und beheben Fehler

Wir alle wissen, dass wir die Eigenschaften der Parameter verstehen müssen, bevor wir eine Funktion verwenden, damit wir die Verwendung der Funktion besser verstehen. Nachdem sie etwas über das Abfrage-Caching gelernt haben, gehen einige Freunde direkt zum nächsten Schritt der praktischen Vorgänge über. An dieser Stelle möchte der Herausgeber darauf hinweisen, dass die Parameter vor dem Start der Operation unbedingt eingestellt werden müssen, da es sonst zu Problemen kommt. Werfen wir einen umfassenden Blick auf die Schritte zum Zwischenspeichern von MySQL-Abfragen und zur Analyse der Cache-Invalidierung.

1. Konfigurationsparameter

(1) have_query_cache gibt an, ob der Abfrage-Cache unterstützt wird. YES bedeutet Unterstützung

(2) query_cache_type gibt den Cache-Typ an. OFF bedeutet, den Abfrage-Cache auszuschalten, ON bedeutet, den Abfrage-Cache einzuschalten und DEMAND bedeutet, den Abfrage-Cache benutzerdefinierter zu definieren

(3) query_cache_limit gibt die maximale Datenmenge an, die von einer einzelnen SQL-Abfrage unterstützt wird

(4) query_cache_min_res_unit gibt die Mindesteinheit des Abfragecaches an

(5) query_cache_size gibt die Größe des Abfrage-Cache-Speicherplatzes an

(6) query_cache_wlock_invalidate gibt an, ob der Abfrage-Cache Schreibsperren unterstützt. OFF bedeutet, dass er dies nicht unterstützt, d. h., beim Lesen von Daten werden Schreibsperren nicht berücksichtigt. ON bedeutet, dass er dies unterstützt, d. h., beim Lesen von Daten werden Schreibsperren blockiert.

Der Abfragecache von MySQL ist standardmäßig deaktiviert. Sie müssen den Parameter „Abfragecachetyp“ manuell konfigurieren, um den Abfragecache zu aktivieren. Der Parameter „Abfrage-Cache-Typ“ hat drei mögliche Werte:

1) AUS oder 0: Abfrage-Cache-Funktion ist deaktiviert;

2) ON oder 1: Die Abfrage-Cache-Funktion ist eingeschaltet. Das SELECT-Ergebnis wird zwischengespeichert, wenn es die Cache-Bedingungen erfüllt. Andernfalls wird es nicht zwischengespeichert. Wenn SQL_NO_CACHE angegeben ist, wird es nicht zwischengespeichert.

3) DEMAND oder 2: Die Abfrage-Cache-Funktion wird bei Bedarf ausgeführt. Nur SELECT-Anweisungen, die explizit SQL_CACHE angeben, werden zwischengespeichert; andere werden nicht zwischengespeichert.

Fügen Sie in der Konfiguration /usr/my.cnf die folgende Konfiguration hinzu:

2. Aktivieren Sie den MySQL-Abfragecache

query_cache_type=1

Nachdem die Konfiguration abgeschlossen ist, starten Sie den Dienst neu, damit er wirksam wird.

Anschließend können Sie SQL-Anweisungen in der Befehlszeile ausführen, um dies zu überprüfen. Führen Sie eine zeitaufwändige SQL-Anweisung aus und führen Sie sie dann mehrmals aus, um die Ausführungszeit der nachfolgenden Male zu überprüfen. Rufen Sie die Cache-Trefferanzahl des Abfragecaches ab, um zu bestimmen, ob der Abfragecache verwendet werden soll.

Abfrage-Cache-Nutzung

(1) Nur Abfrage-SQL-Anweisungen mit der gleichen Zeichenfolgengleichheit verwenden denselben Cache. Das heißt, „select name from city“ und „SELECT name FROM city“ verwenden nicht denselben Cache.

(2) Wenn query_cache_type eingeschaltet ist, verwenden alle Abfragen standardmäßig den Cache. Wir können sql_no_cache verwenden, um explizit anzugeben, dass eine Abfrage den Cache nicht verwendet.

Wählen Sie den SQL_no_cache-Namen aus der Stadt.

(3) Wenn query_cache_type DEMAND ist, müssen Sie sql_cache verwenden, um anzugeben, dass eine Abfrage den Cache verwendet.

Wählen Sie den SQL_Cache-Namen aus der Stadt aus.

3. Cache-Ungültigkeitserklärung:

Wenn sich die Struktur oder die Daten einer Tabelle ändern, sind die Daten im Abfragecache nicht mehr gültig. Vorgänge wie INSERT, UPDATE, DELETE, TRUNCATE, ALTER TABLE, DROP TABLE oder DROP DATABASE führen dazu, dass zwischengespeicherte Daten ungültig werden. Daher eignet sich der Abfragecache für Anwendungen mit einer großen Anzahl identischer Abfragen, jedoch nicht für Anwendungen mit einer großen Menge an Datenaktualisierungen.

Sobald eine beliebige Zeile der Tabellendaten geändert wird, werden alle mit der Tabelle verbundenen Caches sofort ungültig.

Oben sind die Schritte aufgeführt, die wir ausführen müssen, um den Cache in MySQL abzufragen. Ich möchte Sie noch einmal an die Parametereinstellungen erinnern. Wenn der Cache ungültig ist, machen Sie sich keine Sorgen, sondern suchen Sie einfach gemäß der Analyse des Herausgebers nach Lösungen.

Das könnte Sie auch interessieren:
  • Tipps zum MySQL-Abfragecache
  • MySQL-Abfrage-Cache und Pufferpool
  • Grundlegendes Lernprogramm zum MySQL-Abfrage-Cache-Mechanismus
  • Mögliche Methoden zum Löschen des MySQL-Abfragecaches
  • Beschreibung des MySQL-Abfragecaches
  • MySQL-Abfragecache festlegen

<<:  Installationsprozess von Zabbix-Agent auf Kylin V10

>>:  Problem beim Ändern der Tabellengröße mithilfe relativer Breiten

Artikel empfehlen

Vue implementiert eine einfache bidirektionale Datenbindung

In diesem Artikelbeispiel wird der spezifische Co...

Detaillierte Erklärung zur Verwendung von Titel-Tags und Absatz-Tags in XHTML

XHTML-Überschriftenübersicht Wenn wir Word-Dokume...

So installieren Sie Redis5.0.3 im Docker

1. Ziehen Sie das offizielle 5.0.3-Image [root@lo...

Grafisches Tutorial zur Installation und Konfiguration von MySQL (CentOS7)

1. Systemumgebung [root@localhost-Startseite]# ca...

JavaScript zum Implementieren des Vorladens und verzögerten Ladens von Bildern

In diesem Artikel wird der spezifische Code zur I...

So verhindern Sie, dass Website-Inhalte in Suchmaschinen aufgenommen werden

Normalerweise besteht das Ziel beim Erstellen ein...

Diskussion über die Möglichkeit zum Öffnen von Website-Hyperlinks

Ein neues Fenster wird geöffnet. Vorteile: Wenn d...

Detaillierter Prozess der Installation von nginx1.9.1 auf centos8

1.17.9 Wirklich leckerer Nginx-Download-Adresse: ...

Linux Cron geplante Ausführung von PHP-Code mit Parametern

1. Verwenden Sie zur Ausführung weiterhin ein PHP...

Schritte zur Annotation von Metadeklarationen

Schritte zur Annotation von Metadeklarationen: 1. ...

Zusammenfassung der Methoden zur Änderung von MySQL-Passwörtern

Methoden zum Ändern von Passwörtern vor MySQL 5.7...