打个比方,笔者比较崇尚中医的治疗方法,他们所采用的“望闻问切”诊断方法对准确掌握病人的病情很有帮助。记得有人说过,DBA很多方面就像中医,在面对性能问题的时候,使用这种中医的诊断思维去处理会事半功倍。其实就是通过多方面检测,找到性能问题的根源和一些潜在风险。中医的一个思想是通过调理人体自身机能去抵抗外部的入侵,旨在把人体调整到一个“平衡”状态,而不是像西医那样直接杀死染病细胞或者病毒。个人认为,优化性能的目的也是把系统调整到平衡状态,要把事情做到极致,但是不要极端。比如,不要花几个小时的时间,去尝试优化一个已经在1~5s内能得到结果的查询。
对于SQL Server的优化,一个比较通用的目标就是:尽可能最小化每个SQL语句(或者请求)的响应时间并增加系统的吞吐量,通过减少网络延时、优化磁盘I/O吞吐量以及减少CPU的处理时间来最大化整个数据库服务器的伸缩性,使系统能够协调运作。
简而言之,性能优化的目标就是通过一系列的手段,使系统能够协调、平衡地运作,合理地响应外部及内部请求,实现资源利用的最大化。