怎么判断你的MySQL到底是读多还是写多

发布时间:2025-05-14 05:43:21 作者:益华网络 来源:undefined 浏览量(0) 点赞(1)
摘要:经常可以看到一些文章说,我们的数据库基本是读多写少,所以要做读写分离架构。 我就很纳闷,他们是怎么判断出来数据库的读多写少的呢? 其实更多的时候是人云亦云,拍脑门罢了~ 下面就告诉大家正确的姿势 笨方法(不准确) 查看自己项目内的所有sql语句,

 经常可以看到一些文章说,我们的数据库基本是读多写少,所以要做读写分离架构。

我就很纳闷,他们是怎么判断出来数据库的读多写少的呢?

其实更多的时候是人云亦云,拍脑门罢了~ 下面就告诉大家正确的姿势

笨方法(不准确)

查看自己项目内的所有sql语句,去做个统计,到底是select语句多,还是insert、update、delete语句多。

但是这依然不准确,因为就算select语句写的多,但是不代表执行的多,可能我们的项目存在大量的批量更新操作。

正确方法(绝对准确)

通过show status命令,可查看数据库的所有增删改查操作发生次数

SHOW GLOBAL STATUS WHERE variable_name LIKE %Com_insert% OR variable_name LIKE %Com_update% OR variable_name LIKE %Com_delete% OR variable_name LIKE %Com_select%;

查询数据库的增删改查次数

如上图所示,解释如下:

Com_delete 代表删除次数 Com_delete_multi 代表批量删除次数 Com_insert 代表插入次数 Com_insert_select 代表select into的次数 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命令数据展示

 

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!