MySQL Query Cache性能优化FAQ(转载)

原文转自https://www.ruoguschool.com

1.如何检查MySQL数据库是否开启query cache 

mysql> show variables like ‘%query_cache%’;  
 

2.如何开启Query Cache?

MySQL配置文件中开启query cache,  vim /etc/mysql/my.cnf
query_cache_size=256M
query_cache_type=1
 
Query Cache缓存的是对于搜索条件的整个结果集,在数据更新时会自动失效,官方建议Query Cache Size的大小设置一般不要超过256MB。
 
query_cache_type参数用于控制缓存的类型,注意这个值不能随便设置,必须设置为数字,可选项目以及说明如下:
选项 含义
0 关闭,不缓存/重新取得结果。禁用Quer yCache
1 开启,缓存所有结果,除非select语句使用SQL_NO_CACHE禁用了查询缓存
2 只缓存在select语句中通过SQL_CACHE指定需要缓存的查询
 

3.如何设置query_cache_type?

query_cache_type的策略建议:
 
可以开启1, 然后对于insert, update频繁的表操作,select语句中加上SQL_NO_CACHE,比如订单量的记录表,页面访问量的记录表。如查询帖子的访问量:
select sql_no_cache * from wp_postmeta where meta_key=’views’
 
可以开启2,然后对于更新慢,查询多的表Select操作时,使用SQL_CACHE选项,比如博客网站的帖子表,由于不是每时每刻都更新,使用Query Cache的效果会很好,可以使用SQL_CACHE选项,如查询前20的帖子:

select sql_cache * from  wp_posts limit 20


更多关于MySQL Query CacheFAQ参考: https://www.ruoguschool.com

你可能感兴趣的:(数据库)