Отключение кэширования запросов в MySQL

Когда перед вами встает задача оптимизации sql запросов, важно измерять «чистое» время запроса, чтобы определить прирост или регресс. Классическим способом заставить MySQL игнорировать кэш является ключевое слово SQL_NO_CACHE.

[php]SELECT SQL_NO_CACHE * FROM `table` t LEFT JOIN …[/php]

Если же вам нужно оптимизировать пачку запросов, это решение может быть не удобным. В таком случае можно отключить кэширование полностью, выполнив запрос:

[php]SET GLOBAL query_cache_size=0;[/php]
— заново включить можно перезапустив MySQL или командой
[php]SET GLOBAL query_cache_size=1024*1024*32;[/php]

Я думаю не стоит говорить, что использование второго способа на продакшен сервере чревато проблемами.

Добавить комментарий