当前位置:  数据库>sqlserver

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

    来源: 互联网  发布时间:2014-08-29

    本文导语:  情境还原: 公司一项目新上线,刚上线的第2天,在后台发现数据库服务器与IIS服务器的网络IO出现瓶颈,1GB的网络带宽,占用了70%-100%,也就是每秒传输数据700MB-1GB,数据库使用内存高达21GB。 IIS服务器CPU使用率时常爆至80%-90%...

情境还原:
公司一项目新上线,刚上线的第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小时。


    
 
 

您可能感兴趣的文章:

  • INSERT INTO SELECT语句与SELECT INTO FROM语句的一些区别
  • 语句:select max(age) from user,如何用在ResultSet中得到?!!
  • 困惑,select语句的问题
  • sql语句之SELECT语句用法示例
  • 如何在SELECT/INSERT...语句中加入变量?
  • sql 语句插入结果为select和值混合示例
  • 怎样不执行SELECT SQL语句即可获得ResultSetMetaData实例????
  • mysql SELECT语句去除某个字段的重复信息
  • SQL SELECT DISTINCT 语句用法
  • 如何得到一个resultSet的长度,即一条select语句返回了多少符合条件记录
  • select into 和 insert into select 两种表复制语句
  • 在JSP中这个语句有何不妥?resultset rs;rs = stmt.executeQuery("select count(*) from test");
  • 语句: select * from table where name=string 怎样判断一条记录都没找到的情况。
  • select into与insert into select 表复制语句学习实例
  • SELECT INTO 和 INSERT INTO SELECT 两种表复制语句简单介绍
  • SELECT INTO与INSERT INTO SELECT表复制语句实例分享
  • php下巧用select语句实现mysql分页查询
  • 单个select语句实现MySQL查询统计次数
  • Mysql select语句设置默认值的方法
  • SQL Select语句完整的执行顺序
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间javax.accessibility类accessiblestate的类成员方法: selected定义及介绍
  • 究竟怎么样取得的<select name="select_user" size="8" multiple>值
  • java命名空间javax.accessibility类accessiblestate的类成员方法: selectable定义及介绍
  • man select 结果返回 No manual entry for select
  • java命名空间javax.swing.tree类defaulttreeselectionmodel的类成员方法: selection定义及介绍
  • select <0时调用exit(0),为什么程序没有退出,而是继续执行select了?
  • java命名空间javax.swing.tree类defaulttreecellrenderer的类成员方法: selected定义及介绍
  • insert into select和select into的使用和区别介绍
  • java命名空间java.awt.event类itemevent的类成员方法: selected定义及介绍
  • select+read 读服务器发送过来的数据, 假设服务器调用close后, 客户端的select是否返回这个socket可读?
  • java命名空间javax.swing类defaultbuttonmodel的类成员方法: selected定义及介绍
  • JDBC里select sum和select返回的字段类型不一样
  • java命名空间javax.swing.text.html类html.tag的类成员方法: select定义及介绍
  • sql代码:select database select all table
  • java命名空间javax.swing.text.html类html.attribute的类成员方法: selected定义及介绍
  • Oracle中select 1和select *的区别
  • java命名空间javax.swing.plaf.synth接口synthconstants的类成员方法: selected定义及介绍
  • jquery下拉select控件操作方法分享(jquery操作select)
  • java命名空间javax.sound.midi类shortmessage的类成员方法: song_select定义及介绍
  • insert select与select into 的用法使用说明
  • java命名空间javax.swing类jfilechooser的类成员方法: cancel_selection定义及介绍
  • 两个进程中的select的关系


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3