当前位置: 首页 > 科技观察

如何判断你的MySQL是读多还是写多

时间:2023-03-19 16:34:01 科技观察

经常可以看到一些文章说我们的数据库基本上是读多写少,所以需要读写架构分离。我很纳闷,他们是怎么判断数据库读多写少的呢?其实很多时候就是照搬别人说的,拍脑袋而已~下面告诉你正确的姿势和笨办法(不准确)查看你项目中的所有sql语句并进行统计。是不是select语句很多,或者insert,update,delete语句很多。但是这样还是不准确,因为即使select语句写的多,也不代表执行的多。我们的项目中可能会有大量的批量更新操作。正确的方法(绝对准确)通过showstatus命令,可以查看数据库的所有增删改查次数。增删改查次数如上图所示,解释如下:Com_delete表示删除次数Com_delete_multi表示批量删除次数Com_insert表示插入次数Com_insert_select表示selectinto次数com_select表示select次数Com_update表示更新操作次数Com_update_multi表示批量更新次数Writeratio=readtimes/writetimesread/writeratio=Com_select/(Com_select+Com_delete+Com_delete_multi+Com_insert+Com_insert_select+Com_update+Com_update_multi)*100%)注意事项如果使用SHOWSTATUS或SHOWSESSIONSTATUS命令,则表示只查询当前会话如果要查看整个数据库的状态,一定要记得加上GLOBAL参数,使用SHOWGLOBAL状态命令。扩展知识SHOWGLOBALSTATUS可以查看到很多数据(windowsmysql5.7版本下,有354条之多),涵盖方方面面,大家可以自行探索,附上一张图。部分showstatus命令数据展示