书籍详情
Microsoft SQL Server性能调校
作者:胡百敬著
出版社:电子工业出版社
出版时间:2004-10-01
ISBN:9787121004384
定价:¥48.00
购买这本书可以去
内容简介
本书特色:·微软专业顾问、台湾恒逸资讯资深讲师经典力作·繁体版原作大受好评·性能调校圣经·深入剖析SQLServer的运作原理SQLServer是当前应用最广的大型数据库系统之一,大型数据库系统运行一段时间后就会出现运行缓慢、性能下降、故障增多等问题,为了使系统维持正常运行,必须对系统不断进行“调校”。本书从SQL系统的运行原理入手,探究其常遇运行问题的形成原因与解决办法。本书作者长期担任大型数据库设计开发和管理的顾问并从事SQLServer系统的教学工作,本书是他丰富的实践与教学经验的结晶。全书内容包括:性能调校概观、SQLServer架构简介、性能调校相关工具程序、数据库设计、T-SQL语法、索引与查询性能、事务与锁管理、前端应用程序设计。无论是正在从事大型数据库系统的设计、开发、或教学工作的人员或者是在学习大型数据系统知识的学生,掌握“系统调校”知识都是必不可少的。
作者简介
胡百敬现任恒逸资讯资深讲师、微软专业顾问、联合报系技术顾问、睿智信息约聘顾问等。(具MCT、MCAD、MCSD国际认证执照),并获选为微软MVP。拥有多年系统分析、设计与实践经验,并参与许多大型专案开发,主讲微软全省百场以上大型研讨会,也是一位活跃于IT媒体的专栏作家。专长:n-Tier架构暨物件导向式系统分析设计;数据库分析设计;Microsoft.NET开发;商业智能系统分析设计。独自完成项目:1.在中央研究院物理研究所当研究生时期,完成多个实验室自动化项目2.多个诸如花店、书商数据库项目3.台湾医学会会员数据库4.新竹实验国小学籍成绩数据库5.联合报系Exchange系统6.联经信息、联经数字多个系统7.联合报系多个小型系统。参与完成项目:1.带领联合报系证券行情表系统2.技术指导联合报系编务三层式架构系统开发与建置3.带领联经信息、联经数字网站建置4.代表台湾微软参与多个著名企业的顾问案授课经历:1.先后于资策会、恒逸信息等微软认证教育训练中心教授SQLServer全系列课程,.NET全系列课程,微软诸多与开发相关的技术,如Office,XML,Security等50余种课程。2.于政治大学资管系带多层式架构专题>>更多作品
目录
第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
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
猜您喜欢