Ermak1
@Ermak1
Web-dev

Как работает Mysql Query Cache?

Учитывает ли mysql частоту обращений к конкретному запросу в кэше? Размер кэша ограничивается опцией query_cache_size=128M, но как будет себя вести кэш при заполнении данного лимита? Будут ли учтены те запросы которые часто берутся из кэша и их Mysql оставит в кэше, а удалит те, которые редко запрашиваются? Стоит ли принудительно использовать параметр SQL_NO_CACHE с запросами которые редко повторяются, чтобы исключить ВЫТЕСНЕНИЕ нужных данных из кэша? Или я зря переживаю и MySQL сам понимает в каким данным в кэше часто происходит обращение и старается сохранить их в первую очередь?
  • Вопрос задан
  • 105 просмотров
Решения вопроса 1
@neol
При достижении лимита просто удаляются старые записи, частота использования не учитывается.

https://github.com/MariaDB/server/blob/4243785f288...

Лучше не надеяться на query cache, а в приложении решать что, где кешировать и как инвалидировать кеш.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@necrodeflorator
Первая ссылка в Гугле по запросу Mysql Query Cache
https://m.habr.com/ru/post/41166/
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы