The Performance-Tuning Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
性能调整过程
The Core Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2核心过程(进程)
Iterating the Process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
迭代
Performance vs. Price . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
性能对价格
Performance Targets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7性能目标
“Good Enough” Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
足够好调整
Performance Baseline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
性能基线
Where to Focus Efforts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
什么是应努力的焦点
SQL Server Performance Killers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
SQL Server 性能杀手
Poor Indexing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
差的索引
Inaccurate Statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
不正确的统计
Excessive Blocking and Deadlocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
极度阻塞和死锁
Non-Set-Based Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
非基于集合的操作
Poor Query Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
差查询设计
Poor Database Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
差的数据库设计
Excessive Fragmentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
极度碎片
Nonreusable Execution Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
非重用执行计划
Poor Execution Plans . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
差的执行计划
Frequent Recompilation of Execution Plans . . . . . . . . . . . . . . . . . . . . 14
频繁编译执行计划
Improper Use of Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
不正确的使用游标
Improper Configuration of the Database Log . . . . . . . . . . . . . . . . . . . 14
不正确的数据库日志配置
Excessive Use or Improper Configuration of tempdb . . . . . . . . . . . . . 14
过度使用或不正确的临时表配置
Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
小结