教程集 www.jiaochengji.com
教程集 >  数据库  >  mysql  >  正文 mysql中的query_cache_limit进行数据库优化

mysql中的query_cache_limit进行数据库优化

发布时间:2015-10-02   编辑:jiaochengji.com
query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M。优化query_cache_size  从4.0.1开始,MySQL提供了查询缓冲机制。使用查询缓冲,MySQL将SELECT语句和查询

query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M。

优化query_cache_size

  从4.0.1开始,MySQL提供了查询缓冲机制。使用查询缓冲,MySQL将SELECT语句和查询结果存放在缓冲区中,今后对于同样的 SELECT语句(区分大小写),将直接从缓冲区中读取结果。根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。

  通过检查状态值Qcache_*,可以知道query_cache_size设置是否合理(上述状态值可以使用SHOW STATUS LIKE ‘Qcache%’获得)。如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,如果Qcache_hits的值也非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小;如果Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。

  与查询缓冲有关的参数还有query_cache_type、query_cache_limit、query_cache_min_res_unit。query_cache_type指定是否使用查询缓冲,可以设置为0、1、2,该变量是SESSION级的变量。query_cache_limit指定单个查询能够使用的缓冲区大小,缺省为1M。query_cache_min_res_unit是在4.1版本以后引入的,它指定分配缓冲区空间的最小单位,缺省为4K。检查状态值Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多,这就表明查询结果都比较小,此时需要减小 query_cache_min_res_unit。

您可能感兴趣的文章:
mysql中的query_cache_limit进行数据库优化
mysql数据库性能优化技巧
mysql索引的建立原则
学习MySQL数据分页查询(limit用法)
MySQL 根据 status 状态优化
phpcms教程之mysql配置优化
mysql查看索引方法
Mysql索引分类与优化
实例详解mysql limit大数据量分页优化的方法
MySQL limit查询优化的实例详解

关键词: mysql limit  数据库优化   
[关闭]
~ ~