`
king_tt
  • 浏览: 2234244 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

qcache_inserts com_select 与缓存命中率

 
阅读更多

高性能MySQL这本书中关于查询缓存有一段这样的描述:

Cache invalidations can happen because of fragmentation, insufficient memory, or
data modifications. If you have allocated enough memory to the cache and tuned the
query_cache_min_res_unit value properly, most cache invalidations should be due to
data modifications. You can see how many queries have modified data by examining
the Com_* status variables (Com_update, Com_delete, and so forth), and you can see
how many queries have been invalidated due to low memory by checking the Qcache_
lowmem_prunes status variable.

既然没有命中,肯定要有com_select,读之后要加到缓存中,要有qcache_inserts,既然是这样,我不解的是应该一次com_select就对应一次qcache_inserts阿,为什么qcache_inserts会比com_select小的多呢?原来是这样的:

The total number ofSELECTqueries is given by this formula:

Com_select + Qcache_hits+ queries with errors found by parser

TheCom_selectvalue is given by this formula:

Qcache_inserts + Qcache_not_cached + queries with errors found during the column-privileges check

总的select查询数等于com_select(没命中) + qcache_hits(命中) + 解析错误的,其中的com_select等于qcache_inserts(失效) + qcache_not_cache + 权限检查错误的。也就是说qcache_inserts这个计数不是表示没被缓存而进行的读,而是缓存失效而进行的读,没被缓存和缓存失效是两个概念,分别计数,但都会引起com_select。

参考:

http://dev.mysql.com/doc/refman/5.0/en/query-cache-status-and-maintenance.html

http://www.wzsky.net/html/article/php/php2/15874.html

还是要认真读官方文档阿。

分享到:
评论

相关推荐

    MySQL形考任务5

    5. 使用 SHOW 语句查询查询缓存指标Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks。 结论 ...

    mysql常用配置参数和状态变量

    通过 Qcache_inserts 和 Qcache_hits 两个参数可以计算出 Query Cache 的命中率。 11. Qcache_lowmem_prunes:多少条 Query 因为内存不足而被清除出 Query Cache。 12. Qcache_queries_in_cache:当前 Query Cache...

    MySQL实训5.doc

    * Qcache_inserts:缓冲插入次数 * Qcache_lowmem_prunes:缓冲回收次数 * Qcache_not_cached:缓冲未命中次数 * Qcache_queries_in_cache:缓冲中的查询次数 * Qcache_total_blocks:缓冲总块数 MySQL 实训 5 通过...

    如何对查询缓存进行维护和调优[文].pdf

    监控Qcache_free_memory、Qcache_queries_in_cache、Qcache_lowmem_prunes等状态变量,可以帮助判断缓存的健康状况和调优方向。通过实验和监控,可以调整query_cache_size和query_cache_min_res_unit,找到最佳配置...

    实验5 数据库性能监视与优化实验.docx

    通过SHOW语句,可以查询查询缓存相关的指标,例如Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、Qcache_total_blocks...

    mysql完全优化日记

    通过监控 `Qcache_inserts`, `Qcache_hits`, `Qcache_lowmem_prunes` 等状态变量,可以调整 `query_cache_size`。如果 `Qcache_lowmem_prunes` 值较高,表示缓冲区经常不足,应考虑增大缓存大小;而如果 `Qcache_...

    数据库运维形考任务5-实验5 数据库性能监视与优化实验.docx

    5. **实验5-5**:通过`SHOW`语句查看查询缓存的状态,包括Qcache_free_blocks(空闲的块数)、Qcache_free_memory(可用的内存)、Qcache_hits(缓存命中的次数)、Qcache_inserts(添加到缓存的查询数)、Qcache_lowmem_...

    linux 高负载下mysql数据库优化

    通过监控`Qcache_inserts`, `Qcache_hits`, `Qcache_lowmem_prunes`, `Qcache_free_blocks`等状态变量,可以调整合适的缓存大小。如果`Qcache_lowmem_prunes`值高,表示缓冲不足,应增加`query_cache_size`;而`...

    MySQL数据库维护中监控所用到的常用命令

    - 查询缓存命中率计算公式:(Qcache_hits / (Qcache_hits + Qcache_inserts))* 100%。 4. **索引缓存**: - `key_buffer_size`: 索引缓冲区的大小,用于存储MyISAM表的索引。 - 索引缓存命中率计算公式:(Key_...

    数据库运维形考任务5-实验5 数据库性能监视与优化实验.pdf

    在这个实验中,我们将使用 SHOW 语句来查询查询缓冲相关的指标,包括 Qcache_free_blocks、Qcache_free_memory、Qcache_hits、Qcache_inserts、Qcache_lowmem_prunes、Qcache_not_cached、Qcache_queries_in_cache、...

    MySQL的查询缓存机制基本学习教程

    1. 缓存命中率:Qcache_hits(缓存命中次数)除以Com_select(总查询次数)。 2. 缓存写入率:Qcache_inserts(缓存写入次数)除以查询次数。 3. 命中-写入比率:Qcache_hits除以Qcache_inserts,此比率高表示缓存...

    释放MySQL潜能:深入配置缓存机制

    - **监控缓存命中率**:缓存命中率是衡量缓存效率的重要指标,可以通过以下命令监控:`SHOW STATUS LIKE 'Qcache_hits';` `SHOW STATUS LIKE 'Qcache_inserts';` - **调整缓存参数**:根据监控结果,适时调整缓存...

    mysql的查询缓存说明

    监控查询缓存的性能主要是关注三个指标:碎片率(`Qcache_free_blocks / Qcache_total_blocks * 100%`)、命中率(`(Qcache_hits – Qcache_inserts) / Qcache_hits * 100%`)和内存使用率。高命中率意味着更多的...

    mysql巡检报告.pdf

    MySQL 数据库巡检报告 本报告对 MySQL 数据库进行了全面的...* 结果解释:检查结果正常,Qcache_lowmem_prune 正常,Qcache_hits 正常,Qcache_total_blocks 和 Qcache_free_blocks 正常,所有指标都在正常范围内。

    mysql的linux高负载下优化.pdf

    如果`Qcache_hits`值高,表示查询重复率高,缓存效果好;反之,如果重复率低,可能不需启用查询缓存,甚至可以使用`SQL_NO_CACHE`来禁用查询缓存。 3. **table_cache**:也称为Open Table Cache,它决定了MySQL可以...

    MySQL数据库优化经验详谈(服务器普通配置)第1/3页

    可以通过观察`Qcache_inserts`, `Qcache_hits`, `Qcache_lowmem_prunes`等状态变量来调整此值。如果`Qcache_lowmem_prunes`频繁发生,说明缓存不足,应考虑增加大小;而如果`Qcache_hits`不高,可能表明查询重复率低...

    MySQL status解读.zip_MYSQL

    15. **Qcache_free_memory** 和 **Qcache_not_cached**:查询缓存的空闲内存和未缓存的查询,调整查询缓存大小和策略可优化内存使用。 以上只是MySQL status部分关键参数的解读,实际的status变量远比这复杂。通过...

    mysql巡检报告.docx

    - **缓存命中**:`SHOW STATUS LIKE ‘Qcache%’`监控查询缓存,如`Qcache_lowmem_prune`、`Qcache_hits`和`Qcache_total_blocks`,确保缓存利用率高且无内存不足导致的清理问题。 9. **其他巡检点**:还包括检查...

Global site tag (gtag.js) - Google Analytics