Mysql
 sql >> Datenbank >  >> RDS >> Mysql

So aktivieren Sie den MySQL-Abfrage-Cache

Der MySQL-Abfrage-Cache speichert Abfrageergebnisse von häufig und kürzlich ausgeführten Abfragen, damit sie schnell zurückgegeben werden können, ohne alles von Grund auf neu zu verarbeiten. Sie sind sehr nützlich, um die Abfragegeschwindigkeit und die Datenbankleistung zu verbessern. Hier sind die Schritte, um den MySQL-Abfrage-Cache für Ihre Datenbank zu aktivieren, die MySQL-Cache-Größe festzulegen und den Abfrage-Cache zu deaktivieren. Bitte beachten , wurde der MySQL-Abfrage-Cache in MySQL 5.7 als veraltet markiert und in MySQL 8.0 entfernt.


So aktivieren Sie den MySQL-Abfrage-Cache

Hier ist die MySQL-Abfrage-Cache-Konfiguration für Ihre Datenbank.


1. Verfügbarkeit prüfen

Melden Sie sich bei MySQL an und führen Sie den folgenden Befehl aus, um zu prüfen, ob der MySQL-Abfrage-Cache für Ihre Datenbank verfügbar ist.

mysql> SHOW VARIABLES LIKE 'have_query_cache';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| have_query_cache | YES   |
+------------------+-------+

Wenn Sie als Ergebnis JA erhalten, bedeutet dies, dass Ihre Datenbank den Abfrage-Cache unterstützt.

Bonus-Lesung:So aktivieren Sie das langsame MySQL-Abfrageprotokoll

2. Standard-Abfrage-Cache-Variablen

Der MySQL-Abfrage-Cache wird von vielen Variablen gesteuert. Führen Sie den folgenden Befehl aus, um zuerst ihre Standardwerte anzuzeigen, bevor Sie sie ändern.

mysql> show variables like 'query_cache_%' ;

Sie sehen die folgende Ausgabe

+------------------------------+----------+
| Variable_name                | Value    |
+------------------------------+----------+
| query_cache_limit            | 1048576  |
| query_cache_min_res_unit     | 4096     |
| query_cache_size             | 16777216 |
| query_cache_type             | OFF      |
| query_cache_wlock_invalidate | OFF      |
+------------------------------+----------+

Sehen wir uns die obigen Abfrage-Cache-Variablen an,

  • query_cache_limit – maximale Größe der Abfrageergebnisse, die zwischengespeichert werden können
  • query_cache_min_res_result – MySQL speichert Abfrageergebnisse in Blöcken. Dies ist die Mindestgröße jedes Blocks.
  • query_cache_size – gibt die Gesamtmenge an Speicher an, die dem MySQL-Cache zugewiesen wurde.
  • query_cache_type – wenn Sie dies auf 0 oder OFF setzen, wird der MySQL-Abfrage-Cache deaktiviert. Wenn Sie ihn auf 1 setzen, wird der Abfrage-Cache aktiviert.
  • query_cache_wlock_invalidate – bestimmt, ob MySQL Ergebnisse aus dem Cache abrufen soll, wenn die zugrunde liegende Tabelle gesperrt ist.

Bonus-Lesung:Top 5 MySQL-Überwachungstools

3. MySQL-Abfrage-Cache aktivieren

Melden Sie sich von MySQL ab. Öffnen Sie das Terminal und führen Sie den folgenden Befehl aus, um die MySQL-Konfigurationsdatei zu öffnen.

$ sudo vi /etc/mysql/my.cnf

Fügen Sie die folgenden Zeilen unter dem Abschnitt [mysqld]

hinzu
... 
[mysqld] 
query_cache_type=1 
query_cache_size = 10M 
query_cache_limit=256K

Wir haben den Abfrage-Cache aktiviert, indem wir die Variable query_cache_type auf 1 gesetzt haben, mit einem individuellen Abfrage-Cache von 256 KB und einem Gesamt-Cache von 10 MB. Sie können die Werte von query_cache_size und query_cache_limit gemäß Ihren Anforderungen ändern.

Bonus-Lesung:So beschleunigen Sie MySQL-Abfragen

4. Starten Sie die MySQL-Datenbank neu

Starten Sie MySQL neu, um die Änderungen zu übernehmen

$ sudo systemctl restart mysql

ODER

$ sudo service mysql restart

ODER

$ sudo /etc/init.d/mysql restart


Hoffentlich hilft Ihnen dieser Artikel bei der Konfiguration des MySQL-Abfrage-Cache.