MySQL-querycache slaat queryresultaten op van vaak en recent uitgevoerde query's, zodat ze snel kunnen worden geretourneerd zonder dat alles vanaf het begin hoeft te worden verwerkt. Ze zijn erg handig bij het verbeteren van de querysnelheid en databaseprestaties. Hier zijn de stappen om de MySQL-querycache voor uw database in te schakelen, de MySQL-cachegrootte in te stellen en de querycache uit te schakelen. Let op , MySQL-querycache is verouderd in MySQL 5.7 en verwijderd in MySQL 8.0.
Hoe MySQL Query Cache inschakelen
Hier is de MySQL Query-cacheconfiguratie voor uw database.
1. Beschikbaarheid controleren
Log in op MySQL en voer de volgende opdracht uit om te controleren of de MySQL-querycache beschikbaar is voor uw database.
mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
Als het resultaat JA is, betekent dit dat uw database querycache ondersteunt.
Bonus Lezen:MySQL Slow Query Log inschakelen
2. Standaard querycachevariabelen
MySQL-querycache wordt beheerd door vele variabelen. Voer de volgende opdracht uit om eerst hun standaardwaarden te bekijken, voordat u ze wijzigt.
mysql> show variables like 'query_cache_%' ;
U ziet de volgende uitvoer
+------------------------------+----------+ | 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 | +------------------------------+----------+
Laten we eens kijken naar de bovenstaande querycachevariabelen,
- query_cache_limit – maximale grootte van zoekopdrachtresultaten die in de cache kunnen worden opgeslagen
- query_cache_min_res_result – MySQL slaat het queryresultaat op in blokken. Dit is de minimale grootte van elk blok.
- query_cache_size – geeft de totale hoeveelheid geheugen aan die is toegewezen voor MySQL-cache.
- query_cache_type - als u dit op 0 of UIT zet, wordt de MySQL-querycache uitgeschakeld. door het in te stellen op 1 wordt de querycache ingeschakeld.
- query_cache_wlock_invalidate – bepaalt of MySQL resultaten uit de cache moet ophalen als de onderliggende tabel is vergrendeld.
Bonus lezen:Top 5 MySQL-bewakingstools
3. MySQL-querycache inschakelen
Log uit bij MySQL. Open terminal en voer de volgende opdracht uit om het MySQL-configuratiebestand te openen.
$ sudo vi /etc/mysql/my.cnf
Voeg de volgende regels toe onder het gedeelte [mysqld]
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K
We hebben querycache ingeschakeld door de variabele query_cache_type in te stellen op 1, met individuele querycache als 256Kb en totale cache als 10Mb. U kunt de waarden van query_cache_size en query_cache_limit volgens uw vereisten wijzigen.
Bonus lezen:MySQL-query's versnellen
4. Start MySQL-database opnieuw
Start MySQL opnieuw om wijzigingen toe te passen
$ sudo systemctl restart mysql
OF
$ sudo service mysql restart
OF
$ sudo /etc/init.d/mysql restart
Hopelijk helpt dit artikel je bij het configureren van MySQL-querycache.