Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да активирате MySQL Query Cache

Кешът на заявките на MySQL съхранява резултатите от заявките от често и наскоро изпълнявани заявки, така че да могат да бъдат върнати бързо, без да се обработва всичко от нулата. Те са много полезни за подобряване на скоростта на заявки и производителността на базата данни. Ето стъпките за активиране на MySQL кеша на заявки за вашата база данни, задаване на размера на кеша на MySQL и деактивиране на кеша на заявки. Моля, обърнете внимание , кешът на заявките на MySQL е отхвърлен в MySQL 5.7 и премахнат в MySQL 8.0.


Как да активирате MySQL Query Cache

Ето конфигурацията на кеша на MySQL Query за вашата база данни.


1. Проверете наличността

Влезте в MySQL и изпълнете следната команда, за да проверите дали MySQL кешът на заявките е наличен за вашата база данни.

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

Ако получите резултата като ДА, това означава, че вашата база данни поддържа кеш на заявки.

Бонус за четене:Как да активирате MySQL Slow Query Log

2. Променливи в кеша на заявките по подразбиране

Кешът на заявките на MySQL се контролира от много променливи. Изпълнете следната команда, за да видите първо техните стойности по подразбиране, преди да ги промените.

mysql> show variables like 'query_cache_%' ;

Ще видите следния изход

+------------------------------+----------+
| 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      |
+------------------------------+----------+

Нека разгледаме горните променливи в кеша на заявките,

  • query_cache_limit – максимален размер на резултатите от заявката, които могат да бъдат кеширани
  • query_cache_min_res_result – MySQL съхранява резултатите от заявката в блокове. Това е минималният размер на всеки блок.
  • query_cache_size – показва общото количество памет, разпределена за MySQL кеш паметта.
  • query_cache_type – задаване на това на 0 или OFF деактивира MySQL кеша на заявките. задаването му на 1 активира кеша на заявките.
  • query_cache_wlock_invalidate – определя дали MySQL трябва да извлича резултати от кеша, ако основната таблица е заключена.

Бонус четене:Топ 5 инструмента за наблюдение на MySQL

3. Активирайте MySQL Query Cache

Излезте от MySQL. Отворете терминала и изпълнете следната команда, за да отворите конфигурационния файл на MySQL.

$ sudo vi /etc/mysql/my.cnf

Добавете следните редове под раздел [mysqld]

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

Активирахме кеша на заявки, като зададехме променлива query_cache_type на 1, с индивидуален кеш на заявки като 256Kb и общ кеш като 10Mb. Можете да промените стойностите на query_cache_size и query_cache_limit според вашите изисквания.

Бонус за четене:Как да ускорите MySQL заявките

4. Рестартирайте базата данни MySQL

Рестартирайте MySQL, за да приложите промените

$ sudo systemctl restart mysql

ИЛИ

$ sudo service mysql restart

ИЛИ

$ sudo /etc/init.d/mysql restart


Надяваме се, че тази статия ще ви помогне с конфигурацията на кеша на MySQL заявки.

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да проверя дали колона е празна или нула в MySQL?

  2. Проверете и оптимизирайте MySQL база данни автоматично с Crontab/Cron

  3. MySQL получава позиция на ред в ORDER BY

  4. Left Outer Join не връща всички редове от лявата ми таблица?

  5. Разбиране на MySQL TRUNCATE TABLE чрез практически примери