sql >> Databasteknik >  >> RDS >> Mysql

Hur man aktiverar MySQL Query Cache

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.

  1. MySQL-prestanda:Identifiera långa frågor

  2. orakel | radera dubbletter av poster

  3. Kontrollera flera kolumner för ett värde

  4. Hur man trimmar strängar i SQL