提升数据库性能

1 篇文章 0 订阅
  • 查询缓存(Query Caching)
  • MyISAM和InnoDB存储引擎
  • Percona数据库和Percona XtraDB存储引擎
  • MySQL性能监控工具
  • Redis
  • Memcached

查询缓存

它是mysql的一个重要特性,它缓存了SELECT查询及其结果数据集。当一个同样的SELECT查询发生的时候,mysql从内存中直接取出结果,这样就加快了查询的执行速度,同时减小了数据库的压力。

查看MySQL服务器上的查询缓存是否已经打开:

SHOW VARIABLES LIKE 'have_query_cache';

如果关闭,'have_query_cache'字段会是NO。

若要开启查询缓存,可以修改my.cnf:

query_cache_type = 1
query_cache_size = 128MB
query_cache_limit = 1MB

保存重启。

  • query_cache_type:如果设置为1,并且query_cache_size为0,则不会分配任何内存空间,查询缓存被禁用;如果query_cache_size值大于0,就开启查询缓存,并且分配了内存空间。所有不超过query_cache_limit值的查询,或者使用SQL_NO_CACHE选项的查询,都会被缓存。如果设置为0,并且query_cache_size为0,则不会分配任何内存空间,查询缓存被禁用;如果query_cache_size值大于0,内存将会分配,但是不缓存任何数据,查询缓存被禁用。
  • query_cache_size:表示将会分配多少内存。并不是分配越多越好,这个选项值依赖数据库体积、查询类型、和读写比例、硬件、数据库流量和其他因素。比较合适的值是在100MB到200MB之间。然后我们监控性能,并入上文所说调整查询缓存依赖的其他变量的值。对于大部分站点128MB就能工作的很好了。这个值设置为0可以关闭查询缓存。
  • query_cache_limit:定义了能被缓存的查询结果的最大体积。如果查询结果大于这个值,就不会被缓存。这个配置值可以通过找到最大的select查询结果的体积推测而来。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值