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