Справочное руководство по MySQL версии 4.0.11-gamma
6.9.4 Статус и поддержка кэша запросов
6.9.4 Статус и поддержка кэша запросов
С помощью команды FLUSH QUERY CACHE можно дефрагментировать кэш запросов
с целью лучшего использования его памяти. Эта команда не удалит ни одного
запроса из кэша. Команда FLUSH TABLES также записывает на диск содержимое
кэша запросов.
Команда RESET QUERY CACHE удаляет все результаты запросов из кэша
запросов.
Можно контролировать функционирование кэша запросов в SHOW STATUS:
Таблица 1
Переменная
Таблица 1
Переменная
Описание
Описание
Qcache_queries_in_cache
Количество запросов, зарегистрированных в кэше.
Qcache_inserts
Количество запросов, добавленных в кэш.
Qcache_hits
Количество результативных обращений в кэш.
Qcache_not_cached
Количество не кэшированных запросов (не подлежащих кэшированию или из-за установок SQL_QUERY_CACHE_TYPE).
Qcache_free_memory
Величина свободной памяти для кэша запросов.
Qcache_total_blocks
Общее количество блоков в кэше запросов.
Qcache_free_blocks
Количество свободных блоков памяти в кэше запросов.
Общее количество запросов = Qcache_inserts + Qcache_hits +
Qcache_not_cached.
Кэш запросов использует блоки переменной длины, так что параметры
Qcache_total_blocks и Qcache_free_blocks могут показывать фрагментацию
памяти кэша запросов. После команды FLUSH QUERY CACHE остается только
один (большой) свободный блок.
Примечание: каждый запрос нуждается как минимум в двух блоках (один для
текста данного запроса и один или больше - для результатов запроса). Для
каждой используемой в запросе таблицы также требуется один блок, но если
два или более запросов используют одну и ту же таблицу, требуется
выделение только одного блока.