共计 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 行业资讯频道。