Как отключить кэш запросов MySql для текущей сессии пользователя?
Хочу сравнить реальную скорость выполнения двух запросов. Для этого, хочу отключить кэш запросов для текущей сессии пользователя но что то не получается. Пытался:
- и с SQL_NO_CACHE в SELECT,
- и с установкой SET SESSION query_cache_type = OFF;
- и использование функции NOW (в запросе) (хотя согласно доке не должно кэшироваться)
Если это имеет значение то движок таблиц из которых выбираю - InnoDB, версия MySQL - 5.7
Как я понимаю что кэш сохраняется при включенных опциях? При повторном выполнении одного и того же запроса, время выполнения по сравнению с самым первым запуском отличается примерно в 5 и более раз.
Что можете посоветовать?
при попытке:
SET SESSION query_cache_size = 0;
ругается что это глобальная переменная
# Variable_name, Value
query_cache_limit, 1048576
query_cache_min_res_unit, 4096
query_cache_size, 33554432
query_cache_strip_comments, OFF
query_cache_type, OFF
query_cache_wlock_invalidate, OFF
Артемио Вегас, да и надо будет mysql перезагрузить. Но потом вернёте обратно всё как протестите.
либо попробуйте ещё так в консоле от рута: mysql> set global query_cache_size=0;
а потом чекните show variables like 'query_cache_size';