影响查询命中率高低的四个因素:1.一模一样的sql重复执行的次数;2.查询语句结果集有多少缓存在query_cache_size中;3.有多少查询语句结果集缓存,因元数据发生变化而不得不从缓存中踢出;4.查询缓存能存多少结果集,那么就由query_cache_size配置信息和查询结果集的大小有关系;
- 情感问答
- 答案列表
mysql查询缓存:mysql查询缓存设置[朗读]
设置好查询缓存的大小就行了.比如设置个20mb.setglobalquery_cache_size=20000000;mysql会将查询sql和结果集存到缓存中,等下次遇到相同的sql语句时,结果集从缓存中读龋不设置就不用缓存了。
这个是你开启了mysql查询缓存的缘故,可以查看showvariableslike'%query_cache_size%';的参数,如果不是0,那就是开启了,第一次查询时,因为缓存中没有记录,所以要3秒,第二次查询时,缓存里有了,就直接从缓存里取,操作内存肯定是很快的,你可以在第一次查询之后,执行flushtables清除缓存,第二次查询的时间应该会和第一次差不多。
开查询缓存可以加快查询速度,因为是把结果先放到了缓存中,存取会快。
mysql缓存数据,一般都是放在内存的,因为速度快管理方便.硬盘在高速的请求下,io会成为瓶颈.但如果涉及大操作复杂操作,要查询+排序+索引的话,会先生成一个临时文件在硬盘,完成后自动删除。