| 作 者: | 胡百敬 |
| 出版社: | 电子工业出版社 |
| 丛编项: | 数据库专家系列 |
| 版权说明: | 本书为公共版权或经版权方授权,请支持正版图书 |
| 标 签: | Sever |
| ISBN | 出版时间 | 包装 | 开本 | 页数 | 字数 |
|---|---|---|---|---|---|
| 未知 | 暂无 | 暂无 | 未知 | 0 | 暂无 |
第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 建立最优化执行计划的各阶段 191
6.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