一条select语句引起的瓶颈问题思考

所属分类: 数据库 / MsSql 阅读数: 1854
收藏 0 赞 0 分享
情境还原:

公司一项目新上线,刚上线的第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小时。
更多精彩内容其他人还在看

SQL SERVER的优化建议与方法

SQL SERVER的优化建议与方法
收藏 0 赞 0 分享

简单的SQL Server备份脚本代码

简单的SQL Server备份脚本代码
收藏 0 赞 0 分享

sql基本函数大全

sql基本函数大全
收藏 0 赞 0 分享

SQL查询语句精华使用简要第1/2页

SQL查询语句精华使用简要
收藏 0 赞 0 分享

数据库分页存储过程代码

数据库分页存储过程代码
收藏 0 赞 0 分享

SQL查询连续号码段的巧妙解法

SQL查询连续号码段的巧妙解法
收藏 0 赞 0 分享

sql server中千万数量级分页存储过程代码

sql server中千万数量级分页存储过程代码
收藏 0 赞 0 分享

sql2000各个版本区别总结第1/3页

sql2000各个版本区别总结
收藏 0 赞 0 分享

如何远程连接SQL Server数据库图文教程

如何远程连接SQL Server数据库图文教程
收藏 0 赞 0 分享

一个SQL语句获得某人参与的帖子及在该帖得分总和

一个SQL语句获得某人参与的帖子及在该帖得分总和
收藏 0 赞 0 分享
查看更多