• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

mysql中怎么计算查询缓存命中率

mysql 搞代码 7年前 (2018-06-02) 683次浏览 已收录 0个评论

mysql中如何计算查询缓存命中率
在网上搜了几篇文章,说法都不一样,有没有前辈知道的,请指点下

——解决方案——————–
命中率=Qcache_hits/(Qcache_hits+Com_select)

Com_select:

SQL code

 mysql> show global status like '%com_select%'; +---------------+-------+ | Variable_name | Value | +---------------+-------+ | Com_select | 1 | +---------------+-------+ 1 row in set (0.00 sec) mysql> 
------解决方案--------------------
1。MYSQL存储原理,数据文件按页存储最小单位是一页16K,每页的前100多个字节保存表的相关内容 包括数据库,表名,多少条记录被逻辑删除了,多少条记录没有
2。每条记录的头部保存的是该记录的总长度,因为虽然定义了长度但其实际长度均不尽相同,MYSQL第一个字段保存的是表的主键,第二个字段保存锁ID,用于表数据的加过和回滚,其长度固定的是13个字节。
3。不要经常的更新数据,因为更新相当于删除以前的,然后再追加一条记录。以上分别都能影响命中率,还有表的数据不是连续存储的,是根据整个数据表数据插入的先后存储的。以上希望有帮助,谢谢。
------解决方案--------------------
对了以上理论仅仅针对INNODB存储引擎,因存储引擎比较多,其他的不一定是这种方法。
------解决方案--------------------
Qcache_hits/(Qcache_hits+Com_select) 这个是比较通用的方法。

MYSQL本身并没有提供这个参数,并且各种计算方法,包括上面这个也都是非精确的。

欢迎大家阅读《mysql中怎么计算查询缓存命中率》,跪求各位点评,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:mysql中怎么计算查询缓存命中率
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址