首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > Mysql >

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

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

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本身并没有提供这个参数,并且各种计算方法,包括上面这个也都是非精确的。

热点排行