为什么MySQL做查询语句时,第⼀次会很慢,但是第⼆次,第
三次就会变快?
1、mysql默认的query_cache是打开的,第⼀次查询⾛的是数据⽂件,第⼆次就是query_cache,查询⽅式:show variables like
'%query_cache%',如果数据更新会重新缓存。
2、如果mysql使⽤的数据引擎是innodb那么第⼀次查询⾛数据⽂件,第⼆次buffer_pool也⽐查询数据⽂件要快。
Sql语句第⼀次查询慢的原因不仅仅是因为执⾏计划没有被缓存这么简单,有时候你会发现Sql语句重⽤了执⾏计划,但是第⼀次查询还是很慢。mysql下载后的初次使用
最主要的原因是第⼀次查询的时候,mysql会将查询出的部分数据和索引从磁盘加载到内存作为缓存,⽽第⼆次查询的时候就直接从内存缓存中拿出数据了,⾃然要⽐从磁盘上加载数据快很多。
mysql 会定期清除缓存,所以⼀段Sql语句如果长期不执⾏后,就需要从磁盘从新加载数据。
设置缓存⼤⼩:⽐如设置个20MB:SET GLOBAL QUERY_CACHE_SIZE=20000000;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论