首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

一条Select话语导致瓶颈

2012-06-30 
一条Select语句导致瓶颈?情况:上周,公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的

一条Select语句导致瓶颈

?

情况:上周,公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。

IIS服务器CPU使用率时常爆至80%-90%,导致网站频频出现连接超时。

?

原因:晚上只好暂时关闭网站,进行服务器维护,作全面的检查跟踪,发现是一句Select语句导致:

?

Select?*?From?Table1

?

这条语句,语法是没问题的,但在应用上出了问题。Table1存储的是10多万行数据,表数据每天都会上万的增长。

为了统计总行数,频频调用这语句,每秒刷新不低于1000次。

也因此导致网络出现瓶颈。

?

解决:后面把Select语句改成

?

Select?Count(1)?from?Table1?

?

?即可解决问题,网络?IO数据马上降至10MB以下,数据库使用内存也保持在预计范围12GB。

?

看似非常简单的问题,其实不然。解决这问题,所花的时间周期是6小时,检查问题使用1小时,修改代码使用5小时。?

?

?小结:

??java进阶?做事要细心,不要犯低级错误,有时候成功取决于细节。

更多信息请查看?java进阶网?http://www.javady.com

51 楼 sunjiyun26 2012-05-16   无语,统计行数有用 select * 的吗,刚学的也知道 count(*) 吧, 52 楼 ifox 2012-05-16   最后一句是个亮点。 53 楼 mikixiyou 2012-05-16   哈哈,好多人都看出来了。java进阶的广告贴啊。。。 54 楼 zouzou 2012-05-16   成功取决于细节 55 楼 cookcoffee 2012-05-18   1GB的带宽不是意味著最大传输速度约128MB每秒? 56 楼 jiaoronggui 2012-06-10   遇到过一模一样的问题

热点排行