分享更有价值
被信任是一种快乐

mysql select count(*)如何导致CPU使用率上升

文章页正文上

这篇文章给大家分享的是有关mysql select count(*)如何导致CPU使用率上升的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。#####msyq 版本:mysql 5.5操作系统:CentOS 52019-06-05#####最近监控告警,CPU使用率间歇性上升至 95% 以上,通过 show processlist; 查看,发现存在 60多个活动session 在执行同一个SQL: select count(*) from xxxxx(这里没有where 子句)。看到这里,大家可能会觉得,哦,问题找到了,因为这SQL 导致CPU使用率上升。这样的判断是否有点武断呢?CPU 使用率上升是因 还是果呢? 或者说数据库中同时存在 多个 session 执行同一个SQL ,这是因为 CPU 使用率上升导致的还 是因为这个SQL 导致CPU使用率上升的呢?后来研发组在应用程序上免费主机域名缓存了 该SQL 的结果集,问题解决。这说明确实是该SQL 导致CPU使用率上升的,但我有个凝问,count 类型的操作,没有排序的情况下,不是该占用更多的是I/O 资源吗?带着这个凝问,我百度了一下,没有找到答案,然后我作了一个测试:在 select count(*) from xxxx 前后通过 show statu免费主机域名s 查看 Innodb_buffer_pool_read_requests 和 Innodb_buffer_pool_reads 的值,事实证明,该SQL 请求磁盘IO的次数很少,说明大量的数据检索是走的内存。这正好解释 count(*) 类型的查询会导致CPU上升的原因。感谢各位的阅读!关于“mysql select count(*)如何导致CPU使用率上升”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

相关推荐: mongoDB的监控工具怎么用

mongoDB的监控工具怎么用,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。mongostatmongostat捕捉并返回各种类型(如插入、 查询、 更新、 删除等)数据库操作的计…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册