如何分析一条select语句引起的瓶颈问题
本篇文章给大家分享的是有关如何分析一条select语句引起的瓶颈问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
情境还原:
公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。 IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时。
原因:晚上只好暂时关闭网站,进行服务器维护,作全面的检查跟踪,发现是一句Select语句导致: Select * From Table1 这条语句,语法是没问题的,但在应用上出了问题。Table1存储的是10多万行数据,表数据每天都会上万的增长。 为了统计总行数,频频调用这语句,每秒刷新不低于1000次。 也因此导致网络出现瓶颈。
解决:后面把Select语句修改了
代码如下: Select Count(*) from Table1
即可解决问题,网络 IO数据马上降至10MB以下,数据库使用内存也保持在预计范围12GB。 看似非常简单的问题,其实不然。解决这问题,所花的时间周期是6小时,检查问题使用1小时,修改代码使用5小时。
以上就是如何分析一条select语句引起的瓶颈问题,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。
- 上一篇
本地或远程连接mysql时提示Unable to connect to any of the specifie怎么解决
本篇内容介绍了"本地或远程连接mysql时提示Unable to connect to any of the specifie怎么解决"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接
- 下一篇
vsftpd利用pam_mysql.so连接mariadb进行认证
实验环境:IP地址描述192.168.5.181CentOS7系统,base源安装好了mariadb,作为ftp服务端,作为认证服务端192.168.5.121CentOS6系统,作为ftp客户端认证