MySQL-frågecache lagrar frågeresultat från ofta och nyligen körda frågor så att de kan returneras snabbt utan att bearbeta allt från början. De är mycket användbara för att förbättra frågehastighet och databasprestanda. Här är stegen för att aktivera MySQL-frågecache för din databas, ställa in MySQL-cachestorlek och inaktivera frågecache. Obs , MySQL-frågecache har fasats ut i MySQL 5.7 och tagits bort i MySQL 8.0.
Hur man aktiverar MySQL Query Cache
Här är MySQL Query-cache-konfiguration för din databas.
1. Kontrollera tillgänglighet
Logga in på MySQL och kör följande kommando för att kontrollera om MySQL-frågecache är tillgängligt för din databas.
mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+
Om du får resultatet som JA betyder det att din databas stöder frågecache.
Bonus Läs:Hur man aktiverar MySQL Slow Query Log
2. Standardvariabler för frågecache
MySQL-frågecache styrs av många variabler. Kör följande kommando för att se deras standardvärden först, innan du ändrar dem.
mysql> show variables like 'query_cache_%' ;
Du kommer att se följande utdata
+------------------------------+----------+ | 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 | +------------------------------+----------+
Låt oss titta på ovanstående frågecachevariabler,
- query_cache_limit – maximal storlek på frågeresultat som kan cachelagras
- query_cache_min_res_result – MySQL lagrar frågeresultat i block. Detta är den minsta storleken för varje block.
- query_cache_size – anger den totala mängden minne som allokerats för MySQL-cache.
- query_cache_type – om du ställer in detta på 0 eller OFF inaktiverar MySQL-frågecache. om du ställer in den på 1 aktiveras frågecache.
- query_cache_wlock_invalidate – avgör om MySQL ska hämta resultat från cachen om den underliggande tabellen är låst.
Bonusläsning:Topp 5 MySQL-övervakningsverktyg
3. Aktivera MySQL Query Cache
Logga ut från MySQL. Öppna terminalen och kör följande kommando för att öppna MySQL-konfigurationsfilen.
$ sudo vi /etc/mysql/my.cnf
Lägg till följande rader under avsnittet [mysqld]
...
[mysqld]
query_cache_type=1
query_cache_size = 10M
query_cache_limit=256K
Vi har aktiverat frågecache genom att ställa in variabeln query_cache_type till 1, med individuell frågecache som 256Kb och total cache som 10Mb. Du kan ändra värdena för query_cache_size och query_cache_limit enligt dina krav.
Bonus Läs:Hur man snabbar upp MySQL-frågor
4. Starta om MySQL-databasen
Starta om MySQL för att tillämpa ändringar
$ sudo systemctl restart mysql
ELLER
$ sudo service mysql restart
ELLER
$ sudo /etc/init.d/mysql restart
Förhoppningsvis kommer den här artikeln att hjälpa dig med MySQL-frågecache-konfiguration.