Detaillierte Erläuterung der einfachen Verwendung des MySQL-Abfragecaches

Detaillierte Erläuterung der einfachen Verwendung des MySQL-Abfragecaches

MySQL ist ein relationales Datenbankverwaltungssystem, das vom schwedischen Unternehmen MySQL AB entwickelt wurde und ein Produkt von Oracle ist. MySQL ist eines der beliebtesten relationalen Datenbankverwaltungssysteme. Im Hinblick auf Webanwendungen ist MySQL eine der besten RDBMS-Anwendungssoftwares (Relational Database Management System).

Wenn wir den MySQL-Abfragecache aktivieren und genau dieselbe SQL-Anweisung ausführen, liest der Server das Ergebnis direkt aus dem Cache. Wenn Daten geändert werden, wird der vorherige Cache ungültig. Daher sind häufig geänderte Tabellen nicht für die Abfrage-Zwischenspeicherung geeignet.

1. Implementierungsprozess des Abfragecaches

2. Konfigurieren Sie den Abfrage-Cache

1. Überprüfen Sie, ob die aktuelle MySQL-Datenbank das Abfrage-Caching unterstützt

VARIABLEN WIE „have_query_cache“ ANZEIGEN; 

2. Überprüfen Sie, ob der Abfragecache derzeit in MySQL aktiviert ist

VARIABLEN WIE „query_cache_type“ ANZEIGEN; 

3. Überprüfen Sie die Größe des Abfragecaches

VARIABLEN WIE „query_cache_size“ ANZEIGEN; 

4. Zeigen Sie die Statusvariablen des Abfragecaches an

STATUS WIE „Qcache%“ ANZEIGEN; 

Parameter Bedeutung
Qcache_freie_blöcke Die Anzahl der freien Speicherblöcke im Abfragecache
Qcache_freier_Speicher Für den Abfrage-Cache verfügbare Speichermenge
Qcache_Hits Abfragecache-Trefferanzahl
Qcache_inserts Die Anzahl der zum Abfragecache hinzugefügten Abfragen
Qcache_lowmen_prunes Die Anzahl der Abfragen, die aufgrund von zu wenig Arbeitsspeicher aus dem Abfragecache entfernt wurden
Qcache_nicht_zwischengespeichert Die Anzahl der nicht zwischengespeicherten Abfragen (Abfragen, die nicht zwischengespeichert werden konnten oder aufgrund der Einstellung „query_cache_type“ nicht zwischengespeichert wurden)
Qcache_queries_in_cache Die Anzahl der im Abfragecache registrierten Abfragen
Qcache_Gesamtblockanzahl Die Gesamtzahl der Blöcke im Abfragecache

3. Aktivieren Sie den Abfrage-Cache

Der MySQL-Abfragecache ist standardmäßig deaktiviert. Sie müssen den Parameter query_cache_type manuell konfigurieren, um den Abfragecache zu aktivieren. Abfrage-Cache-Typ
Für diesen Parameter gibt es drei mögliche Werte:

Wert Bedeutung
AUS oder 0 Abfrage-Cache deaktiviert
EIN 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 explizit angegeben ist, wird es nicht zwischengespeichert.
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.

1. Konfigurieren Sie in usr/my.cnf (die Konfigurationsdatei kann auch in /etc/my.cnf liegen)

2. Starten Sie den Dienst neu

Dienst MySQL Neustart

3. Testen


4. Abfrage-Cache SELECT-Optionen

Es gibt zwei Optionen für die Abfragezwischenspeicherung, die in der SELECT-Anweisung angegeben werden können:

  • SQL_CACHE: Cachet Abfrageergebnisse, wenn sie zwischengespeichert werden können und der Wert der Systemvariable query_cache_type ON oder DEMAND ist.
  • SQL_NO_CACHE: Der Server verwendet den Abfragecache nicht. Es überprüft weder den Abfragecache, noch prüft es, ob das Ergebnis bereits zwischengespeichert ist, noch speichert es die Abfrageergebnisse zwischen.
SELECT SQL_CACUE-ID, Name vom Kunden;
SELECT SQL_NO_CACHE ID, Name vom Kunden;

5. Abfrage-Cache-Fehler

1. Inkonsistente SQL-Anweisungen

Um den Cache zu erreichen, muss die SQL-Abfrageanweisung konsistent sein

SQL1: wähle count(*) aus tb_item;
SQL2: wähle count(*) aus tb_Item;

2. Die Abfrageanweisung enthält einige unsichere Werte

SQL1: Wählen Sie * aus tb_item, wobei Aktualisierungszeit < jetzt()-Limit 1 ist;
SQL2:Benutzer auswählen();
SQL3:Datenbank auswählen();

3. Verwenden Sie keine Tabellenabfrageanweisungen

wählen Sie „A“;

4. Abfragetabellen in MySQL-, Information_Schema- oder Performance_Schema-Datenbanken

Wählen Sie * aus information_schema.engines;

5. Abfragen, die innerhalb gespeicherter Funktionen, Trigger oder Ereigniskörper ausgeführt werden

Als Titel

6. Tabellenänderungen führen zur Cache-Löschung

Wenn sich eine Tabelle ändert, werden alle zwischengespeicherten Abfragen, die diese Tabelle verwenden, ungültig und aus dem Cache entfernt. Hierzu zählen Abfragen, die MERGE auf Tabellen anwenden, die der geänderten Tabelle zugeordnet sind. Eine Tabelle kann durch viele Arten von Anweisungen geändert werden, beispielsweise INSERT, UPDATE, DELETE, TRUNCATE TABLE, ALTER TABLE, DROP TABLE oder DROP DATABASE.

Das Obige ist eine Zusammenfassung der einfachen Verwendung des MySQL-Abfragecaches

Dies ist das Ende dieses Artikels über die einfache Verwendung des MySQL-Abfragecaches. Weitere Informationen zur Verwendung des MySQL-Abfragecaches finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Tipps zum MySQL-Abfragecache
  • Detaillierte Erklärung der Abfrage- und Löschbefehle für den MySQL-Cache
  • Grundlegendes Lernprogramm zum MySQL-Abfrage-Cache-Mechanismus
  • Mögliche Methoden zum Löschen des MySQL-Abfragecaches
  • Beschreibung des MySQL-Abfragecaches
  • MySQL-Abfragecache festlegen

<<:  So verwenden Sie JavaScript und CSS richtig in XHTML-Dokumenten

>>:  Reines js, um einen Schreibmaschineneffekt zu erzielen

Artikel empfehlen

MySQL Serie 13 MySQL-Replikation

Inhaltsverzeichnis 1. Mit der MySQL-Replikation v...

HTML+CSS+JavaScript zum Erstellen eines einfachen Tic-Tac-Toe-Spiels

Inhaltsverzeichnis Implementieren von HTML CSS hi...

So bewerben Sie sich für Webdesign-Jobs

<br />Hallo zusammen! Es ist mir eine Ehre, ...

Vorteile und Nachteile des MySQL Advanced Learning Index sowie Nutzungsregeln

1. Vor- und Nachteile von Indizes Vorteile: schne...

So erfassen Sie Ausnahmen in React

Inhaltsverzeichnis Vorwort Fehlergrenze Jenseits ...

MySQL-Kill-Befehl – ​​Verwendungshandbuch

KILL [VERBINDUNG | ABFRAGE] Prozesslisten-ID In M...

Docker stop stoppt/remove löscht alle Container

In diesem Artikel wird hauptsächlich das Stoppen/...

Erstellen privater Mitglieder in JavaScript

Inhaltsverzeichnis 1. Verwende Closures 2. Verwen...