SQL Server性能优化与管理的艺术PDF电子书下载
- 电子书积分:15 积分如何计算积分?
- 作 者:黄钊吉著
- 出 版 社:北京:机械工业出版社
- 出版年份:2014
- ISBN:9787111473244
- 页数:481 页
第一部分 SQL Server性能优化概述 2
第1章 性能概述 2
1.1 何为性能 2
1.2 性能指标 3
1.3 性能目标 3
1.4 影响性能的常见因素 4
1.4.1 应用程序的体系结构 4
1.4.2 应用程序设计 5
1.4.3 事务和隔离级别 5
1.4.4 T-SQL代码 5
1.4.5 硬件资源 6
1.4.6 SQL Server配置 6
1.5 小结 8
第2章 初探优化 9
2.1 优化论 9
2.2 定义问题 10
2.2.1 使用工具找到性能瓶颈 12
2.2.2 通过性能数据进行分类 12
2.3 根据性能数据分析问题 14
2.4 验证处理手段及部署 14
2.5 问题归档 15
2.6 小结 15
第二部分 SQL Server性能优化理论知识 18
第3章 体系结构 18
3.1 SQL Server查询体系 18
3.2 数据库事务 22
3.2.1 事务特性 22
3.2.2 事务类型 22
3.3 查询的生命周期 23
3.3.1 SQL Server组件 23
3.3.2 缓冲池 23
3.3.3 简单的SELECT查询过程 23
3.4 执行模型 28
3.5 SQLOS 30
3.6 SQL Server内存 30
3.6.1 物理内存和虚拟内存 30
3.6.2 SQL Server内存 32
3.6.3 内存问题诊断 34
3.6.4 优化SQL Server内存配置 34
3.6.5 优化Ad-Hoc工作负载 36
3.7 小结 38
第4章 硬件资源 39
4.1 CPU 39
4.1.1 SQL Server工作负载类型 39
4.1.2 CPU评估 40
4.1.3 CPU配置 43
4.2 存储系统 43
4.2.1 磁盘I/O 43
4.2.2 驱动器类型 44
4.2.3 RAID配置 45
4.2.4 配置存储系统 46
4.2.5 检查读写速率 46
4.3 CPU性能侦测 48
4.3.1 侦测CPU压力 48
4.3.2 研究CPU相关的等待信息 49
4.3.3 查找CPU消耗高的查询 50
4.3.4 常见高CPU利用率的原因 51
4.4 I/O性能侦测 59
4.5 小结 59
第5章 查询优化器 60
5.1 查询过程 60
5.2 查询优化器 62
5.2.1 产生执行计划 62
5.2.2 连接 63
5.3 执行引擎 66
5.3.1 数据访问操作 66
5.3.2 聚合操作 70
5.3.3 并行执行 73
5.4 统计信息和开销预估 73
5.4.1 统计信息 73
5.4.2 统计信息维护 77
5.4.3 计算列上的统计信息 78
5.4.4 过滤索引上的统计信息 79
5.4.5 预估数量错误 81
5.4.6 更新统计信息 81
5.5 优化器工作过程 83
5.6 小结 88
第6章 索引及统计信息 89
6.1 索引基础 90
6.1.1 为什么要索引 90
6.1.2 索引的主要类型 91
6.1.3 索引元数据 91
6.2 索引存储基础 92
6.2.1 SQL Server存储基础 92
6.2.2 页的组织 95
6.2.3 检查工具 98
6.2.4 页碎片 110
6.3 索引统计信息 113
6.3.1 索引层级的统计信息 113
6.3.2 索引使用的统计信息 117
6.3.3 索引操作的统计信息 120
6.3.4 索引物理统计信息 126
6.4 索引误区及使用建议 127
6.4.1 常见误区 127
6.4.2 索引使用建议 135
6.4.3 关于索引的查询建议 137
6.5 索引维护 143
6.5.1 索引碎片 143
6.5.2 索引统计信息维护 155
6.6 索引工具 156
6.6.1 缺失索引DMO 156
6.6.2 使用DMO 158
6.6.3 数据库引擎优化顾问 159
6.6.4 使用DMO侦测索引问题 162
6.7 索引策略 165
6.7.1 堆 165
6.7.2 聚集索引 167
6.7.3 非聚集索引 168
6.7.4 索引存储 182
6.7.5 索引视图 185
6.8 索引分析 187
6.8.1 索引方法论 187
6.8.2 监控 188
6.8.3 分析 199
6.8.4 实施 212
6.8.5 重复 213
6.9 案例 213
6.10 小结 215
第7章 等待 216
7.1 等待简介 217
7.1.1 什么是等待 217
7.1.2 为什么需要等待信息 218
7.1.3 保存等待信息 218
7.2 查询等待 219
7.3 并行执行 219
7.3.1 CXPACKET 220
7.3.2 CXPACKET潜在问题 221
7.3.3 降低CXPACKET等待 221
7.3.4 CXPACKET深度分析 222
7.3.5 CXPACKET建议 222
7.4 多任务等待 223
7.4.1 SOS_SCHEDU-LER_YIELD 223
7.4.2 多任务类型 225
7.4.3 多任务潜在问题 226
7.4.4 降低多任务等待 226
7.5 I/O等待 227
7.6 备份和还原等待 231
7.7 锁定等待 231
7.8 数据库日志等待 233
7.9 外部资源等待 235
7.10 其他常见的等待类型 237
7.11 小结 238
第8章 执行计划 239
8.1 基础知识 239
8.1.1 查询提交 240
8.1.2 预估与实际执行计划 241
8.1.3 执行计划重用 242
8.1.4 清除缓存的执行计划 243
8.1.5 执行计划格式 243
8.1.6 使用DMO获取缓存中的执行计划 243
8.1.7 使用SQL Trace自动获取执行计划 244
8.2 图形化执行计划 244
8.2.1 基础知识 245
8.2.2 单表查询 245
8.2.3 表关联 252
8.2.4 筛选数据 256
8.2.5 常见操作符 258
8.2.6 INSERT/UPDATE/DELETE的执行计划 261
8.2.7 复杂查询 264
8.3 控制执行计划 280
8.3.1 查询提示 281
8.3.2 联接提示 293
8.3.3 表提示 297
8.4 扩展信息 298
8.4.1 阅读庞大的执行计划 298
8.4.2 并行操作 305
8.4.3 强制参数化 306
8.4.4 使用计划指南 307
8.5 案例 313
8.6 小结 316
第9章 锁、阻塞和死锁 317
9.1 并发和事务 318
9.1.1 悲观并发和乐观并发 319
9.1.2 事务 320
9.1.3 丢失更新 325
9.2 锁的基础 327
9.2.1 锁定概述 327
9.2.2 锁资源/锁类型 328
9.2.3 锁模式 329
9.2.4 锁的持续时间 330
9.2.5 锁的所有权 330
9.2.6 锁的元数据 331
9.3 高级锁概念 332
9.3.1 锁兼容性 332
9.3.2 锁模式转换 333
9.3.3 意向锁 335
9.3.4 键范围锁 335
9.3.5 锁升级 336
9.3.6 其他类型的锁 338
9.3.7 非锁定引起的阻塞 339
9.4 控制锁行为 339
9.4.1 通过隔离级别控制并发性和锁定行为 340
9.4.2 设定锁的超时时间 340
9.4.3 锁提示 341
9.5 悲观并发的故障侦测 341
9.5.1 侦测锁定 341
9.5.2 阻塞的故障排查 344
9.6 乐观并发 348
9.6.1 行版本存储 349
9.6.2 行版本存储工作机制 349
9.6.3 基于快照的隔离模式 349
9.6.4 监控和管理版本存储 350
9.6.5 管理版本存储 351
9.6.6 选择并发模式 353
9.7 死锁 354
9.7.1 死锁类型 354
9.7.2 自动死锁侦测 356
9.7.3 捕获死锁 356
9.7.4 读懂死锁图 363
9.7.5 最小化死锁 364
9.8 监控和处理 366
9.8.1 使用DMV捕获阻塞信息 366
9.8.2 使用Extended Events和blocked_process_report事件捕获 368
9.8.3 阻塞问题解决方案 368
9.8.4 建议 369
9.9 小结 371
第10章 TempDB 372
10.1 TempDB简介 372
10.1.1 TempDB是什么 372
10.1.2 什么操作会用到TempDB 373
10.2 TempDB上的常见问题及监控 378
10.2.1 空间问题 378
10.2.2 TempDB的I/O瓶颈 382
10.2.3 过多的DDL操作导致系统表上的瓶颈 383
10.3 优化TempDB 383
10.3.1 配置TempDB 384
10.3.2 优化TempDB 385
10.3.3 扩充阅读 386
10.4 小结 386
第三部分 工具使用 388
第11章 使用传统工具定位瓶颈 388
11.1 使用性能监视器及PAL收集和分析性能 389
11.1.1 性能监视器 389
11.1.2 数据收集器集 392
11.1.3 使用PAL分析 403
11.2 使用DMO获取性能数据 407
11.2.1 DMO介绍 407
11.2.2 示例 407
11.3 使用Profiler获取性能数据 414
11.3.1 用法及注意事项 414
11.3.2 Profiler示例 416
11.3.3 SQL Trace示例 419
11.4 DBCC命令 422
11.4.1 DBCC SQLPERF 422
11.4.2 DBCC INPUTBUFFER 424
11.4.3 DBCC TRACEON/TRACEOFF 425
11.4.4 DBCC SHOWCONTIG 425
11.4.5 DBCC OPENTRAN 426
11.5 小结 427
第12章 使用新工具定位瓶颈 428
12.1 PSSDIAG 428
12.2 PowerShell 434
12.2.1 简介 434
12.2.2 打开PowerShell 434
12.2.3 使用PowerShell侦测服务器问题 435
12.3 小结 438
第13章 Extended Events 439
13.1 简介 439
13.2 创建扩展事件 444
13.3 查询收集的数据 449
13.3.1 监视实时数据 449
13.3.2 使用T-SQL查看 451
13.4 案例 452
13.5 小结 458
第14章 其他工具 459
14.1 SQLDiag 459
14.2 数据库性能优化顾问 462
14.2.1 使用DTA进行单查询分析 462
14.2.2 使用DTA进行全库分析 466
14.3 Windows事件日志及SQL Server Errorlog 470
14.3.1 Windows事件日志 470
14.3.2 SQL Server错误日志 471
14.4 小结 472
第15章 优化服务器配置 473
15.1 数据库工作负载特点 473
15.1.1 基础知识 473
15.1.2 工作负载配置 474
15.2 工作负载优化步骤 477
15.2.1 数据库设计 477
15.2.2 查询设计 478
15.2.3 数据库服务器配置 478
15.2.4 数据库管理 479
15.2.5 数据库备份 480
15.3 小结 481
- 《管理信息系统习题集》郭晓军 2016
- 《东北民歌文化研究及艺术探析》(中国)杨清波 2019
- 《联吡啶基钌光敏染料的结构与性能的理论研究》李明霞 2019
- 《MBA大师.2020年MBAMPAMPAcc管理类联考专用辅导教材 数学考点精讲》(中国)董璞 2019
- 《舞剧艺术论》张麟著 2019
- 《中国陈设艺术史》赵囡囡著 2019
- 《信息系统安全技术管理策略 信息安全经济学视角》赵柳榕著 2020
- 《卓有成效的管理者 中英文双语版》(美)彼得·德鲁克许是祥译;那国毅审校 2019
- 《危险化学品经营单位主要负责人和安全生产管理人员安全培训教材》李隆庭,徐一星主编 2012
- 《全国校外艺术课堂新形态示范教材系列 少儿钢琴表演曲集》唐冠祥编著 2019
- 《中国文化英语自主学习研究》赵应吉著 2019
- 《追怀故老》陈允吉著 2019
- 《GEOGEBRA可视化与微积分教学》汪吉著 2019
- 《对话 教师自主成长》王言吉著 2014
- 《超越快乐原则》彭吉著 2016
- 《袁宏道《珊瑚林》《金屑编》校释》王闰吉著 2017
- 《《葛藤语笺》校释》王闰吉著 2017
- 《经营圣哲 松下幸之助 管理突破全书》(日)高田雄吉著;刘景文编译 2002
- 《日支共存之原理》(日)衣斐釮吉著 1919
- 《《老子》研究参考资料选辑》朱继武,黄钊主编 1985
- 《指向核心素养 北京十一学校名师教学设计 英语 七年级 上 配人教版》周志英总主编 2019
- 《北京生态环境保护》《北京环境保护丛书》编委会编著 2018
- 《高等教育双机械基础课程系列教材 高等学校教材 机械设计课程设计手册 第5版》吴宗泽,罗圣国,高志,李威 2018
- 《指向核心素养 北京十一学校名师教学设计 英语 九年级 上 配人教版》周志英总主编 2019
- 《高等院校旅游专业系列教材 旅游企业岗位培训系列教材 新编北京导游英语》杨昆,鄢莉,谭明华 2019
- 《中国十大出版家》王震,贺越明著 1991
- 《近代民营出版机构的英语函授教育 以“商务、中华、开明”函授学校为个案 1915年-1946年版》丁伟 2017
- 《新工业时代 世界级工业家张毓强和他的“新石头记”》秦朔 2019
- 《智能制造高技能人才培养规划丛书 ABB工业机器人虚拟仿真教程》(中国)工控帮教研组 2019
- 《AutoCAD机械设计实例精解 2019中文版》北京兆迪科技有限公司编著 2019