Для кэша запросов в MySQL добавляется несколько системных переменных для mysqld, которые могут быть установлены в конфигурационном файле или из командной строки при запуске mysqld.
Опция | Описание |
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, установленной при создании данного потока.
6.9.1 Как работает кэширование запросов | Оглавление | 6.9.3 Параметры кэша запросов в запросе SELECT |