zoukankan      html  css  js  c++  java
  • MySQL数据库的查询缓冲机制

    MySQL数据库的查询缓冲机制

    2011-08-10 11:07 佚名 火魔网 字号:T | T
    一键收藏,随时查看,分享好友!

    使用查询缓冲机制,可以极大地提高MySQL数据库查询的效率,节省查询所用的时间。那么查询缓冲机制是怎样设置的呢?本文我们就来介绍这部分内容,希望能够对您有所帮助。

    AD:

    MySQL数据库提供了查询缓冲机制。使用该查询缓冲机 制,MySQL将SELECT语句和查询结果存放在缓冲区中,以后对于同样的SELECT语句(区分大小写),将直接从缓冲区中读取结果。以节省查询时 间,提高了SQL查询的效率。本文我们主要就介绍一下MySQL数据库的查询缓冲机制,接下来就让我们来一起了解一下这部分内容。

    通过调节以下几个参数可以知道query_cache_size设置得是否合理:

    Qcache inserts

    Qcache hits

    Qcache lowmem prunes

    Qcache free blocks

    Qcache total blocks

    Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,同时Qcache_hits的值非常大,则表明查询缓冲使用 非常频繁,此时需要增加缓冲大小Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查 询缓冲。此外,在SELECT语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。

    Qcache_free_blocks,如果该值非常大,则表明缓冲区中碎片很多query_cache_type指定是否使用查询缓冲。

    如果设置为:

    query_cache_size = 32M

    query_cache_type= 1

    得到如下状态值:

    Qcache queries in cache 12737 //表明目前缓存的条数。

    Qcache inserts 20649006

    Qcache hits 79060095 //看来重复查询率还挺高的。

    Qcache lowmem prunes 617913 //有这么多次出现缓存过低的情况。

    Qcache not cached 189896

    Qcache free memory 18573912 //目前剩余缓存空间。

    Qcache free blocks 5328 //这个数字似乎有点大,碎片不少

    Qcache total blocks 30953

    如果内存允许,还可以将query_cache_size再设大一些。

    关于MySQL数据库查询缓存机制的介绍就到这里了,如果您想了解更多MySQL数据库的知识,可以去这里看一看:http://database.51cto.com/mysql/,相信一定能够给您带来收获的!

  • 相关阅读:
    各IDE快捷键
    java的GUI之SWT框架 JavaFX框架 配置开发环境(包含但不限于WindowBuilder完整教程,解决Unknown GUI toolkit报错,解决导入SWT包错误)
    20180314 一个浮点数问题
    20180309 算最近新的感悟吧
    20171228 C#值类型和引用类型
    20171129 ASP.NET中使用Skin文件
    20171123初学demo爬去网页资料
    20171018 在小程序页面去获取用户的OpenID
    20171018 微信小程序客户端数据和服务器交互
    20171012 动态爬虫爬取预约挂号有号信息
  • 原文地址:https://www.cnblogs.com/zhengah/p/4626389.html
Copyright © 2011-2022 走看看