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