由chenglin博客发布,原文地址:http://www.chenglin.name/mysql/302.html
介绍下mysql的查询缓存,我们使用mysql语句查询的时候,每次都会重新交由mysql重新处理一次,如果我们数据更改不频繁的话,可以使用mysql自带的缓存机制,把每次的查询结果缓存起来,下次查询只需要很短的时间,可以忽略不计;
说说步骤吧,两步,开启缓存,设置缓存大小
1、开启缓存,两种方式: a)使用mysql命令:
set
global
query_cache_type
=
1 ;
set
global
query_cache_size
=
600000 ;
b)修改配置文件,windows下是my.ini,linux下是my.cnf;
在配置文件的最后追加上:
query_cache_type
=
1
query_cache_size
=
600000
需要重启mysql生效;
在mysql命令行输入
show variables like "%query_cache%"
具体操作见 http://www.chenglin.name/mysql/302.html
query_cache_size 在 5.6 版本貌似无效######回复 @王铁锤 : 5.6.14 设置这个参数 提示错误######回复 @chinatop : 求验证结果 ######版本差异没注意,都可以设置的,可以查查文档相应属性,或者百度一下,######简单有效 不错 ######感觉缓存不开白不开,没有副作用######@逝水fox 反正是不开白不开######@逝水fox 不变的放静态缓存,变化的放二级缓存,hibernate说的######缓存失效或者清理缓存是会造成服务挂起,所以查询缓存不宜过大,经常变化的应该不让他进缓存######仁兄所言极是######数据库保持连接也要开销,网站用缓存插件不是更好么?######缓存不开白不开######mark######这字体颜色 太霸道了############不错,保留了
###### 不错谢谢你的共享 ######设置了,不过发现没有命中过。######不会吧,查询下都开启了没,###### 表上有任何ddl或者dml,整个表相关的所有数据都将从qc里失效掉.
这玩儿一般线上环境基本是个负担,建议不要用,除非整个库只读. ######算了,第一次是对的~~######次奥,说错了,事倍功半,这么多成语~~######只读还需要mysql作甚~~,查询比较频繁可以使用这种简单快捷的做法。事半功倍。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。