Пусть памяти хватит,
как MySQL определяет, следует ли производить выборку из кеша или повторно запрашивать?
AFAIK mysql автоматически истекает, это кеши при изменении таблицы (вставки, обновления, удаления и т. Д.)
mysql обычно кэширует его сразу же на основе query_cache_limit и размера, query_cache_limit по умолчанию составляет 1M, поэтому, если отдельный запрос становится больше, он не будет кэшироваться, если вы его не измените.
Вы должны убедиться, что ваш запрос также равен, поскольку он учитывает запросы с учетом регистра.
Кроме того, вы можете использовать следующую команду для отслеживания этого:
SHOW STATUS LIKE '%qcache%';
Так, например, создайте таблицу с некоторыми записями и запустите:
SELECT id,name FROM my_table WHERE id > '2'; SHOW STATUS LIKE '%qcache%';
Вы заметите, что количество кешированных запросов увеличилось на 1, теперь запустите тот же выбор снова, и вы увидите, что mysql уже будет использовать кеш, и результат будет происходить намного быстрее.
ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ
Сначала вы должны убедиться, что у вас есть query-cache-type = 1
на вашем my.cnf или my.ini в зависимости от ОС / УСТАНОВКИ.
Из mysql вы можете запустить следующую команду, чтобы проверить ее статус:
SHOW VARIABLES LIKE '%query_cache%';
При перечислении данных вы увидите размер кэша запроса, если он установлен в 0, это означает, что ваш кеш запроса отключен, эта переменная определяет объем памяти в байтах, используемый для кеша запроса.
Как и для типа query-cache-type, добавьте в my.cnf или my.ini следующее:
query-cache-size = 40M