标题：SQL Server 2005 Performance Tuning性能调校
基本信息
作者： 胡百敬    姚巧玫    刘承修   
出版社：电子工业出版社
ISBN：9787121062964
上架时间：2008-6-19
出版日期：2008 年6月
开本：16开
页码：715
版次：1-1
内容简介
数据库系统经年累月地运行，日久便可能面临数据累积量大、使用人数增加、应用面扩增、当初系统设计有局限等问题，导致性能变差，这就需要调试人员进行性能调校。然而，他们进行性能调校的能力是需要培养的，一般来说，需要的不只是数据库方面的知识和经验，还要对商业领域知识、系统架构设计、应用程序撰写，以及对操作系统、网络环境架设、各种监控工具程序等都有一定的了解，才能在复杂的系统中，找到症结所在，完成调校任务。
本书正是为满足上述需要而编写的，适合sql server dba阅读，书中提供了性能调校和错误处理的建议与提示，并通过实际案例，协助dba建立正确的观念、充分了解系统架构，进而在阅读中传承功力，并打通任督二脉，领略其中运用之奥妙。 
作者简介
姚巧玫Sandy Yao，现任元信达程序设计师。对Microsoft NET开发、SQL Server／BI／Reporting Service开发与系统架构等专业知识皆有深入的研究。为DBWorld、IThome专栏作家，微软全球最有价值专家(MVP)。
刘承修Stephen Liu，现任日盛金控数据库管理员。专长SQL Seryer、Oracle数据库管理流程设计、性能优化、高可用性设计、项目管理、ITSM。拥有PMP、ITlL、MCSA、MCDBA、MCTS、 MCITP、OCA、OCP、CCNA等国际专业认证。
目录
第1章 性能调校概观 
1.1 什么是性能调校 
1.2 建立性能的基线 
1.3 性能调校的步骤——detect 
1.3.1 各阶段重点说明 
1.3.2 练习detect方法 
1.3.3 二分查找 
1.3.4 定义瓶颈 
1.4 结语 
第2章 sql server架构简介 
2.1 sql server运行架构 
2.1.1 sql server的访问架构 
2.1.2 sql server 的核心引擎 
2.1.3 sql server动态自我管理 
2.2 各项硬件使用剖析 
2.2.1 内存管理 
2.2.2 中央处理器 
2.2.3 磁盘子系统 
2.3 仿真系统运行 
2.4 结语 
第3章 性能调校相关工具程序 
3.1 综观的工具 
3.1.1 sqldiag 公用程序概述 
3.1.2 观察影响效率的内容 
3.1.3 性能监视器 
3.2 进一步的分析工具 
3.2.1 management studio 
3.2.2 sql profiler概述 
3.3 针对特定对象的工具 
3.3.1 database engine tuning advisor 
3.3.2 查询编辑器 
3.3.3 网络监视器 
3.3.4 dbcc 
3.3.5 跟踪标记 
3.4 performance dashboard reports 
3.4.1 sql server 2005 performance dashboard reports 
3.4.2 performance dashboard reports 主要的分析途径 
3.4.3 performance dashboard reports 所提供的各式报表 
3.4.4 blocking 报表 
3.4.5 general wait 报表 
3.4.6 其他细节报表 
3.4.7 扩展performance dashboard reports 报表功能 
3.5 压力测试工具程序 
3.5.1 microsoft application center test 
3.5.2 load simulator 
3.5.3 自行编写压力测试程序 
3.6 结语 
第4章 动态管理视图和函数 
4.1 动态管理视图和函数简介 
4.2 动态管理视图和函数的使用范例 
4.3 观察各种资源的使用情况 
4.3.1 内存缓存区 
4.3.2 cpu 的使用 
4.3.3 执行计划重用 
4.3.4 锁定与被锁定的关系 
4.3.5 i/o 的使用 
4.3.6 tempdb 系统数据库的使用 
第5章 数据库设计 
5.1 数据库设计 
5.2 使用分割数据表切割和平行运行 
5.2.1 分割数据表的使用范例 
5.2.2 分割数据表与大量数据加载的集成 
5.3 tempdb 系统数据库的规划 
5.3.1 tempdb 的用途 
5.3.2 sql server 2005 针对tempdb 所做的改良 
5.3.3 监控tempdb 的使用 
5.3.4 性能考虑 
5.4 备份与还原 
5.4.1 数据库恢复模式 
5.4.2 数据库恢复模式之间的切换 
5.5 大量数据加载 
5.6 设计磁盘子系统 
5.7 结语 
第6章 索引 
6.1 索引概观 
6.1.1 建立索引与相关的属性设置 
6.1.2 平行建立索引 
6.1.3 在线索引 
6.1.4 集群索引与非集群索引 
6.1.5 排序 
6.1.6 与索引相关的系统视图 
6.1.7 是否值得建索引 
6.2 索引维护 
6.2.1 观察数据不连续 
6.2.2 使用动态管理函数观察数据不连续 
6.2.3 重组、重建与停用索引 
6.3 优化执行计划的各阶段 
6.4 统计 
6.4.1 更新统计 
6.5 覆盖索引 
6.6 在视图与计算字段上建立索引 
6.6.1 如何有效地建立indexed view 
6.6.2 indexed view的适用范围 
6.7 单一查询使用多个索引 
6.8 结语 
第7章 t-sql语法 
7.1 有效地查询参数 
7.1.1 不要对数据域做运算 
7.1.2 勿负向查询 
7.1.3 勿在where 子句对字段使用函数 
7.1.4 小心使用or 操作 
7.2 连接 
7.2.1 连接 
7.2.2 join 语句 
7.2.3 嵌套循环连接 
7.2.4 合并连接 
7.2.5 哈希连接 
7.2.6 连接与子查询 
7.3 其他注意事项 
7.3.1 insert、delete 和update 
7.3.2 子查询 
7.3.3 搭配exists与in的子查询 
7.3.4 通过连接更新数据 
7.3.5 查询提示 
7.4 新的dml语句 
7.4.1 common table expression 
7.4.2 获取排名或顺序的函数 
7.5 sql server 提供的公共变量 
7.6 结语 
第8章 重用执行计划 
8.1 编译与高速缓存执行计划 
8.2 影响计划重用的因素 
8.3 执行计划与execution context 
8.4 观察执行计划的使用 
8.5 需要重新编译计划 
8.5.1 不同参数使用相同执行计划可能引发的问题 
8.5.2 以提示影响查询引擎所建立的执行计划 
第9章 交易与锁定管理 
9.1 锁定 
9.1.1 锁定的种类及范围 
9.1.2 锁定的兼容性 
9.1.3 可锁定的资源 
9.1.4 锁定与交易隔离等级 
9.1.5 动态的锁定管理 
9.1.6 锁定逾时 
9.2 数据行版本控制 
9.2.1 数据行版本控制基本运行行为 
9.2.2 “数据行版本控制”使用时机 
9.2.3 “数据行版本控制”tempdb 数据库资源管理 
9.3 交易 
9.3.1 交易行为概述 
9.3.2 批处理与交易 
9.3.3 嵌套交易 
9.3.4 存储点 
9.3.5 锁定提示 
9.3.6 使用交易之注意事项 
9.4 死锁状况 
9.4.1 发生cycle 死锁 
9.4.2 发生conversion 死锁 
9.4.3 分布式死锁 
9.4.4 sql server 无法侦测的死锁实例 
9.5 观察与分析系统的锁定状况 
9.5.1 观察sql server 当前执行的状况 
9.5.2 观察与分析系统的锁定状况 
9.6 锁定的原因及相关处理 
9.6.1 费时的查询或交易 
9.6.2 不正确的交易或交易隔离等级设置 
9.6.3 交易未正确处理 
9.6.4 未检测到的分布式死锁 
9.6.5 锁定数据粒度（lock granularity）太高或太低 
9.6.6 compile blocking 
9.6.7 基本原则 
9.7 结语 
第10章 前端应用程序设计 
10.1 程序架构 
10.2 用户端与sql服务器的交互 
10.2.1 用户端访问sql server 的模式 
10.2.2 准备再执行的模式 
10.2.3 测试各种执行sql 语句方式的性能 
10.2.4 connection pooling 
10.3 多数据结果集 
10.3.1 sql server 数据访问与结果集 
10.3.2 工作阶段内容信息与mars 
10.3.3 前端程序经由mars访问 
10.3.4 mars的执行方式 
10.3.5 同时读取与更新数据 
10.4 光标 
10.4.1 光标概观 
10.4.2 默认结果集 
10.4.3 服务器端光标 
10.4.4 使用光标的t-sql语句 
10.4.5 与光标相关的系统存储过程 
10.4.6 通过前端程序访问四种类型的光标 
10.4.7 异步使用光标 
10.4.8 使用光标时应注意的事项 
10.5 数据高速缓存 
10.5.1 使用高速缓存的原因 
10.5.2 net framework 与microsoft patterns & practices enterprise library提供的高速缓存 
10.5.3 访问caching application block 
10.6 应用程序错误处理 
第11章 visual studio 2005 team edition for database professional 
11.1 db pro 所支持的功能 
11.2 建立数据库项目并控制对象的sql script 
11.2.1 建立项目 
11.2.2 将数据库定义加入源代码版本控制 
11.3 建立数据库内新对象 
11.3.1 部署项目定义到数据库 
11.3.2 依项目内容更新数据库schema 定义 
11.4 修改数据库内对象名称 
11.5 测试 
11.5.1 产生测试数据 
11.5.2 数据库的单元测试 
11.5.3 数据库单元测试的方面 
11.5.4 以db pro 设计与执行单元测试 
11.5.5 通过测试条件定义单元测试的结果是成功或失败 
11.5.6 负载测试 
11.6 service release 1 与power tools 的功能 
11.6.1 power tools 为vsts database pro 新增的功能 
附录a 数据库对象的命名惯例与访问标准 
a.1 建立命名规则 
a.2 数据库使用惯例 
附录b 数据库服务器的容量规划 
附录c 应用程序架构范例