如何分析一条select语句引起的瓶颈问题

113次阅读
没有评论

共计 637 个字符,预计需要花费 2 分钟才能阅读完成。

本篇文章给大家分享的是有关如何分析一条 select 语句引起的瓶颈问题,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

情境还原:

  公司一项目新上线,刚上线的第 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 语句引起的瓶颈问题,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-07-18发表,共计637字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)