我有一个慢速数据库查询,第一次运行时运行18秒,后续运行运行时运行4秒。 我正在尝试优化它的“冷启动”执行时间。但是无法连续复制它。
select SQL_NO_CACHE
指令无效。
下面的命令都没有让它再次运行18秒:
FLUSH QUERY CACHE;
RESET QUERY CACHE;
FLUSH TABLES;
即使重新启动数据库也不会让它再次运行。
是否还有其他命令可以刷新缓存?
表引擎是InnoDB。
答案 0 :(得分:0)
我通常会在查询中添加一个用户定义的变量,以便跳过查询缓存。但不确定,你可以用这种方式模仿冷启动。
SELECT a.*
FROM a, (SELECT @a:=NULL) as foo;