赞
踩
笨方法(不准确)
查看自己项目内的所有sql语句,去做个统计,到底是select语句多,还是insert、update、delete语句多。
但是这依然不准确,因为就算select语句写的多,但是不代表执行的多,可能我们的项目存在大量的批量更新操作。
正确方法(绝对准确)
通过show status命令,可查看数据库的所有增删改查操作发生次数
SHOWGLOBALSTATUS
WHERE
variable_nameLIKE'%Com_insert%'
ORvariable_nameLIKE'%Com_update%'
ORvariable_nameLIKE'%Com_delete%'
ORvariable_nameLIKE'%Com_select%';
查询数据库的增删改查次数
如上图所示,解释如下:
Com_delete代表删除次数
Com_delete_multi代表批量删除次数
Com_insert代表插入次数
Com_insert_select代表selectinto的次数
Com_select代表select次数
Com_update代表更新操作次数
Com_update_multi代表批量更新次数
读写比例计算公式
读写比例=读次数/写次数
读写比例=
Com_select/(Com_select+Com_delete+Com_delete_multi+Com_insert+Com_insert_select+Com_update+Com_update_multi)*100%)
注意事项
如果使用SHOW STATUS或SHOW SESSION STATUS命令,代表只是查询当前会话的状态数据,如果要查看整个数据库的状况一定要记得加上GLOBAL参数,使用SHOW GLOBAL STATUS命令。
扩展知识
SHOW GLOBAL STATUS可以查看的数据非常多(windows mysql 5.7版本下,有354条之多),涵盖方方面面,可以自行探索一下,附图一张。
部分show status命令数据展示
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。