当SQL Query跑得很慢的时候...--主要瓶颈

本文探讨了当SQL查询运行缓慢时如何进行性能调优。重点介绍了影响SELECT语句性能的三大因素:Random IO、Sequential IO和CPU Bottleneck,并通过实例说明了选择合适的查询算法的重要性。建议在优化SQL时,应深入理解服务器执行查询的操作,以减少不必要的资源消耗。
摘要由CSDN通过智能技术生成

当SQL Query跑得很慢的时候, 这是件多么美妙的事情...

 

每天清晨,慵懒地来到公司,机械化的点开SQL客户端,华丽地按下更新数据按钮。然后倒水泡茶,上开心,逛论坛,吃饭聊天。。。转眼夕阳西下。哇!数据更新完毕。套用模板,发出Report,回家吃饭。

 

多么令人艳羡的工作。但是我的Query没有跑得那么慢啊!没关系,看完本文你一定能让你的Query跑得更慢!(#大误)

 

言归正传,Butter将为你逐步揭示SQL语句性能调优办法。首先让我们来看影响SELECT语句性能的三座大山 (排名绝对分先后,影响力以指数级下降):

 

 

Random IO

 

Random IO是性能的最大杀手,一次Random IO往往意味着一次HardDisk 的Seek Time。一般桌面电脑的seek time在9ms左右取决于硬盘的RPM。至于服务器seek time 可以下降到3ms。

 

3ms以为着什么? 以现在较为常规服务器磁盘每秒300MB的传输率计算,3ms可以读0.9MB数据,也就是900K。以一个Page 8KB计算,假设每一个page存100条记录,3ms 可以大约读取10,000条连续数据记录~~~~10,000条连续数据记录~~~~~回音

 

换句话说,每当服务器进行一次Random IO,需要省下读取10,000条连续数据的时间才有赚不亏。(画外音1: 不考虑空间问题,Non-Cluster Index实际上就是做了

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值