Справочное руководство по MySQL

         

Глава 6.9.2 Конфигурация кэша запросов

Для кэша запросов в 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, установленной при создании данного потока.


6.9.1 Как работает кэширование запросов Оглавление 6.9.3 Параметры кэша запросов в запросе SELECT