Кешът на заявките на 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 заявки.