Для кэша запросов в MySQL добавляется несколько системных переменных для
mysqld
, которые могут быть установлены в конфигурационном файле или из
командной строки при запуске mysqld
.
query_cache_limit
Не кэшировать результаты, большие, чем указано (по умолчанию 1Мб).query_cache_size
Память, выделенная для хранения результатов старых запросов. Если равно0
, то кэширование запроса блокируется (по умолчанию). Указывается в байтах.-
query_cache_type
Можно установить следующие (только числовые) значения:Опция Описание 0 OFF
(``ВЫКЛЮЧЕНО''), результаты не кэшировать и не извлекать1 ON
(``ВКЛЮЧЕНО''), кэшировать все результаты, за исключением запросовSELECT SQL_NO_CACHE ...
2 DEMAND
(``ПО ТРЕБОВАНИЮ''), кэшировать только запросыSELECT SQL_CACHE ...
Внутри потока (соединения) можно изменить функционирование кэша запросов по сравнению с установленным по умолчанию. Синтаксис следующий:
QUERY_CACHE_TYPE = OFF | ON | DEMAND QUERY_CACHE_TYPE = 0 | 1 | 2
Опция | Описание |
0 или OFF | Результаты не кэшировать и не извлекать. |
1 или ON | Кэшировать все результаты за исключением запросов SELECT SQL_NO_CACHE ...
|
2 или DEMAND | Кэшировать только запросы SELECT SQL_CACHE ...
|