С помощью команды FLUSH QUERY
CACHE можно дефрагментировать
кэш запросов с целью лучшего
использования его памяти. Эта
команда не удалит ни одного
запроса из кэша. Команда FLUSH
TABLES также записывает на диск
содержимое кэша запросов.
Команда RESET QUERY CACHE
удаляет все результаты запросов из
кэша запросов.
Можно контролировать
функционирование кэша запросов в
SHOW STATUS:
| Переменная | Описание |
| Qcache_queries_in_cache | Количество запросов, зарегистрированных в кэше. |
| Qcache_inserts | Количество запросов, добавленных в кэш. |
| Qcache_hits | Количество результативных обращений в кэш. |
| Qcache_lowmem_prunes | Количество запросов, удаленных из кеша по причине недостаточного количества памяти. |
| Qcache_not_cached | Количество не кэшированных запросов (не подлежащих кэшированию или из-за установок 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 остается
только один (большой) свободный
блок.
Примечание: каждый запрос нуждается как минимум в двух блоках (один для текста данного запроса и один или больше - для результатов запроса). Для каждой используемой в запросе таблицы также требуется один блок, но если два или более запросов используют одну и ту же таблицу, требуется выделение только одного блока.
Вы можете использовать переменную
Qcache_lowmem_prunes для
настройки размера кеша запросов. В
ней подсчитывается количество
запросов, которые были удалены из
кеша для освобождения памяти под
новые результаты запросов. Кеш
запросов использует стратегию
используется реже всего
(least recently used, LRU) для
принятия решений о о том, какие
запросы удалить из кеша.
This is a translation of the MySQL Reference Manual that can be found at dev.mysql.com. The original Reference Manual is in English, and this translation is not necessarily as up to date as the English version.
© 1995-2005 MySQL AB. All rights reserved.
