微信扫一扫,移动浏览光盘
简介
[font color="#ff6600"]本书特色:
· 微软专业顾问、台湾恒逸资讯资深讲师经典力作
· 繁体版原作大受好评
· 性能调校圣经
· 深入剖析sql server的运作原理[/font]
sql server是当前应用最广的大型数据库系统之一,大型数据库系统运行一段时间后就会出现运行缓慢、性能下降、故障增多等问题,为了使系统维持正常运行,必须对系统不断进行“调校”。 本书从sql系统的运行原理入手,探究其常遇运行问题的形成原因与解决办法。本书作者长期担任大型数据库设计开发和管理的顾问并从事sql server系统的教学工作,本书是他丰富的实践与教学经验的结晶。全书内容包括:性能调校概观、sql server架构简介、性能调校相关工具程序、数据库设计、t-sql语法、索引与查询性能、事务与锁管理、前端应用程序设计。 无论是正在从事大型数据库系统的设计、开发、或教学工作的人员或者是在学习大型数据系统知识的学生,掌握“系统调校”知识都是必不可少的。
目录
推荐序
i自 序
iii导 读
v第1章 性能调校概观
1.1 什么是性能调校 5
1.2 建立性能的基线及相关文件 5
1.3 性能调校的步骤流程 – detect 8
1.3.1 各阶段重点说明 9
1.3.2 练习 detect 方法 13
1.4 定义瓶颈 16
1.5 结论 17
第2章 sql server架构简介
2.1 sql server 运行架构 21
2.1.1 sql server 的存取架构 24
2.1.2 sql server 的核心引擎 27
2.1.3 动态自我管理 31
2.2 各项硬件使用剖析 33
2.2.1 内存管理 33
2.2.2 中央处理器 48
2.2.3 硬盘子系统 54
.2.3 仿真系统运作 61
2.4 本章参考资源 63
第3章 性能调校相关工具程序
3.1 综观的工具 69
3.1.1 sqldiag 概观 69
3.1.2 观察影响效率的属性 74
3.1.3 性能监视器 78
3.2 进一步的分析工具 84
3.2.1 sql server enterprise manager及 t-sql script 84
3.2.2 sql profiler 概观 87
3.2.3 相关的系统对象 99
3.3 针对特定对象的工具 100
3.3.1 query analyzer 100
3.3.2 网络监视器 103
3.3.3 dbcc 106
3.3.4 跟踪标记 109
3.4 压力测试工具程序 110
3.4.1 microsoft application center test 111
3.4.2 自行撰写压力测试程序 114
3.5 本章参考资料 117
第4章 数据库设计
4.1 数据库设计 121
4.1.1 硬盘子系统之设计 126
4.1.2 分割 & 并行运作 130
4.2 备份与还原 134
4.2.1 logical log marks 134
4.2.2 恢复模型 137
4.3 大量数据加载 139
4.4 结语 140
第5章 t-sql 语法
5.1 有效的查询参数 143
5.1.1 不要对数据字段做运算 144
5.1.2 不要用负向查询 146
5.1.3 不要对数据字段使用函数 146
5.1.4 使用 or 运算符要小心 147
5.2 使用 t-sql 的注意事项 148
5.3 自行撰写管理用的辅助存储过程 150
5.3.1 当做工具的 t-sql 程序 150
5.3.2 将存储过程建立在 tempdb 系统数据库 156
5.4 sql server提供的公共变量 157
5.5 结语 165
第6章 索引与查询性能
6.1 索引概观 169
6.1.1 建立索引与相关的属性配置 170
6.1.2 聚集索引(clustered index)与非聚集索引 175
6.1.3 排序 179
6.1.4 并行建立索引 184
6.1.5 sysindexes 系统数据表 184
6.1.6 是否值得建索引 188
6.2 建立最优化执行计划的各阶段 1916.3 统计 193
6.3.1 更新统计 200
6.4 联结与查询效率 204
6.4.1 联结 204
6.4.2 join 语法 205
6.4.3 巢状循环联结 208
6.4.4 合并联结 209
6.4.5 哈希联结 210
6.4.6 联结与子查询 211
6.5 覆盖索引 213
6.6 在视图与计算字段上建立索引 217
6.6.1 如何有效地建立 indexed view 219
6.6.2 indexed view 的适用范围 224
6.7 查询提示 225
6.8 单一查询使用多个索引 230
6.9 数据不连续(fragmentation) 231
6.10 结语 234
第7章 事务与锁管理
7.1 锁 237
7.1.1 锁的种类及范围 237
7.1.2 锁的兼容性 240
7.1.3 可锁定的资源 241
7.1.4 锁与事务隔离等级 243
7.1.5 动态的锁定管理 248
7.1.6 锁定超时 249
7.2 事务 252
7.2.1 批处理与事务 252
7.2.2 巢状事务 255
7.2.3 储存点 259
7.2.4 锁定提示 261
7.3 死锁 264
7.3.1 分布式死锁(distributed deadlock) 266
7.3.2 sql server 无法侦测到的死锁实例 268
7.4 观察与分析系统的锁定状况 273
7.4.1 观察 sql server 当前执行的状况 274
7.4.2 观察与分析系统的锁定状况 281
7.4.3 死锁状况分析 283
7.5 一般产生阻塞的原因 289
7.5.1 费时的查询或事务 289
7.5.2 不正确的事务或事务隔离级别配置 290
7.5.3 事务未正确处理 290
7.5.4 未侦测到的分布式死锁 291
7.5.5 lock granularity 太高或太低 291
7.5.6 compile blocking 291
7.5.7 防止锁住他人的技巧 292
7.5.8 防止与处理死锁的技巧 293
第8章 前端应用程序设计
8.1 处理 sql 语法时用户端与服务器的互动情形 297
8.1.1 用户端存取 sql server 的模式 299
8.1.2 准备再执行的模式 303
8.1.3 通过 master.dbo.syscacheobjects 系统数据表观察在缓存中的对象 307
8.1.4 测试各种执行 sql 语法方式的性能 312
8.1.5 connection pooling 313
8.2 游标 322
8.2.1 游标综述 322
8.2.2 默认结果集 324
8.2.3 服务器端游标 326
8.2.4 使用游标的 t-sql 语法 331
8.2.5 与游标相关的系统存储过程 340
8.2.6 通过前端程序存取四种类型的游标 342
8.2.7 异步使用游标 346
8.2.8 使用游标时,应注意的事项 348
8.3 应用程序错误处理 350
附录a 性能调校计划 353
附录b 压力测试计划 359
附录c 参考资源 377
附录d wintel 的 64位架构 383
i自 序
iii导 读
v第1章 性能调校概观
1.1 什么是性能调校 5
1.2 建立性能的基线及相关文件 5
1.3 性能调校的步骤流程 – detect 8
1.3.1 各阶段重点说明 9
1.3.2 练习 detect 方法 13
1.4 定义瓶颈 16
1.5 结论 17
第2章 sql server架构简介
2.1 sql server 运行架构 21
2.1.1 sql server 的存取架构 24
2.1.2 sql server 的核心引擎 27
2.1.3 动态自我管理 31
2.2 各项硬件使用剖析 33
2.2.1 内存管理 33
2.2.2 中央处理器 48
2.2.3 硬盘子系统 54
.2.3 仿真系统运作 61
2.4 本章参考资源 63
第3章 性能调校相关工具程序
3.1 综观的工具 69
3.1.1 sqldiag 概观 69
3.1.2 观察影响效率的属性 74
3.1.3 性能监视器 78
3.2 进一步的分析工具 84
3.2.1 sql server enterprise manager及 t-sql script 84
3.2.2 sql profiler 概观 87
3.2.3 相关的系统对象 99
3.3 针对特定对象的工具 100
3.3.1 query analyzer 100
3.3.2 网络监视器 103
3.3.3 dbcc 106
3.3.4 跟踪标记 109
3.4 压力测试工具程序 110
3.4.1 microsoft application center test 111
3.4.2 自行撰写压力测试程序 114
3.5 本章参考资料 117
第4章 数据库设计
4.1 数据库设计 121
4.1.1 硬盘子系统之设计 126
4.1.2 分割 & 并行运作 130
4.2 备份与还原 134
4.2.1 logical log marks 134
4.2.2 恢复模型 137
4.3 大量数据加载 139
4.4 结语 140
第5章 t-sql 语法
5.1 有效的查询参数 143
5.1.1 不要对数据字段做运算 144
5.1.2 不要用负向查询 146
5.1.3 不要对数据字段使用函数 146
5.1.4 使用 or 运算符要小心 147
5.2 使用 t-sql 的注意事项 148
5.3 自行撰写管理用的辅助存储过程 150
5.3.1 当做工具的 t-sql 程序 150
5.3.2 将存储过程建立在 tempdb 系统数据库 156
5.4 sql server提供的公共变量 157
5.5 结语 165
第6章 索引与查询性能
6.1 索引概观 169
6.1.1 建立索引与相关的属性配置 170
6.1.2 聚集索引(clustered index)与非聚集索引 175
6.1.3 排序 179
6.1.4 并行建立索引 184
6.1.5 sysindexes 系统数据表 184
6.1.6 是否值得建索引 188
6.2 建立最优化执行计划的各阶段 1916.3 统计 193
6.3.1 更新统计 200
6.4 联结与查询效率 204
6.4.1 联结 204
6.4.2 join 语法 205
6.4.3 巢状循环联结 208
6.4.4 合并联结 209
6.4.5 哈希联结 210
6.4.6 联结与子查询 211
6.5 覆盖索引 213
6.6 在视图与计算字段上建立索引 217
6.6.1 如何有效地建立 indexed view 219
6.6.2 indexed view 的适用范围 224
6.7 查询提示 225
6.8 单一查询使用多个索引 230
6.9 数据不连续(fragmentation) 231
6.10 结语 234
第7章 事务与锁管理
7.1 锁 237
7.1.1 锁的种类及范围 237
7.1.2 锁的兼容性 240
7.1.3 可锁定的资源 241
7.1.4 锁与事务隔离等级 243
7.1.5 动态的锁定管理 248
7.1.6 锁定超时 249
7.2 事务 252
7.2.1 批处理与事务 252
7.2.2 巢状事务 255
7.2.3 储存点 259
7.2.4 锁定提示 261
7.3 死锁 264
7.3.1 分布式死锁(distributed deadlock) 266
7.3.2 sql server 无法侦测到的死锁实例 268
7.4 观察与分析系统的锁定状况 273
7.4.1 观察 sql server 当前执行的状况 274
7.4.2 观察与分析系统的锁定状况 281
7.4.3 死锁状况分析 283
7.5 一般产生阻塞的原因 289
7.5.1 费时的查询或事务 289
7.5.2 不正确的事务或事务隔离级别配置 290
7.5.3 事务未正确处理 290
7.5.4 未侦测到的分布式死锁 291
7.5.5 lock granularity 太高或太低 291
7.5.6 compile blocking 291
7.5.7 防止锁住他人的技巧 292
7.5.8 防止与处理死锁的技巧 293
第8章 前端应用程序设计
8.1 处理 sql 语法时用户端与服务器的互动情形 297
8.1.1 用户端存取 sql server 的模式 299
8.1.2 准备再执行的模式 303
8.1.3 通过 master.dbo.syscacheobjects 系统数据表观察在缓存中的对象 307
8.1.4 测试各种执行 sql 语法方式的性能 312
8.1.5 connection pooling 313
8.2 游标 322
8.2.1 游标综述 322
8.2.2 默认结果集 324
8.2.3 服务器端游标 326
8.2.4 使用游标的 t-sql 语法 331
8.2.5 与游标相关的系统存储过程 340
8.2.6 通过前端程序存取四种类型的游标 342
8.2.7 异步使用游标 346
8.2.8 使用游标时,应注意的事项 348
8.3 应用程序错误处理 350
附录a 性能调校计划 353
附录b 压力测试计划 359
附录c 参考资源 377
附录d wintel 的 64位架构 383
Microsoft SQL Server性能调校
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×
亲爱的云图用户,
光盘内的文件都可以直接点击浏览哦
无需下载,在线查阅资料!