Для кэша запросов в 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 ...
|