开启 MySQL query cache,加快数据库读取速度

 

在网站建设或者运营中,如果 MySQL server 是非常繁忙,可以开启 query cache 以加速回应时间,开启方法可以在 my.cnf 裡面加入以下项目: (Redhat 下面是 /etc/my.cnf;Debian 是在 etc/mysql/my.cnf).

query_cache_size = 64M
query_cache_type = 1
query_cache_limit = 1048576

以上语法的设定里面,query_cache_size 是分配 256MB 记忆体空间给 querycache;query_cache_type 设定成 1,是给所有的查询做 cache;query_cache_limit是指定个别的查询语句 1KB 的记忆体空间。

这些数值可根据自己的需要作出更改,设定及存档后,重新启动 MySQL 即可。

Query Cache 在提高数据库性能方面具有非常重要的作用。

其设定也非常简单,仅需要在配置文件写入两行: query_cache_type 和 query_cache _size,而且 MySQL 的 query cache 非常快!而且一旦命中,就直接发送给客户端,节约大量的 CPU 时间。

当然,非 SELECT 语句对缓冲是有影响的,它们可能使缓冲中的数据过期。一个 UPDATE语句引起的部分表修改,将导致对该表所有的缓冲数据失效,这是 MySQL 为了平衡性能而没有采取的措施。因为,如果每次 UPDATE需要检查修改的数据,然后撤出部分缓冲将导致代码的复杂度增加。

query_cache_type 0 代表不使用缓冲, 1 代表使用缓冲,2 代表根据需要使用。
其实MySQL中有内存表了, 完全可以不用这个功能. 对于Query Cache, MySQL提供了query_cache_type变量来控制发送到数据库的SQL是否进行Cache, 有三个值:

0, 对SQL语句不进行Cache.
1, 对于有SQL_NO_CACHE提示的SQL不进行Cache.
2, 仅对于有SQL_CACHE进示的SQL进行Cache.

 

转自:开启 MySQL query cache,加快数据库读取速度

 

还有一篇资料可以辅助学习 http://hi.baidu.com/xytel/blog/item/d74d4c1204e4d959f919b827.html

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值