图书介绍
SQL Server 2005性能调优PDF|Epub|txt|kindle电子书版本网盘下载
- (美)StevenWort,ChristianBolton著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302200871
- 出版时间:2009
- 标注页数:513页
- 文件大小:106MB
- 文件页数:528页
- 主题词:关系数据库-数据库管理系统,SQL Server 2005-教材
PDF下载
下载说明
SQL Server 2005性能调优PDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1部分 在问题发生时寻找瓶颈3
第1章 性能调校3
1.1 艺术还是科学3
1.2 性能调校的科学4
1.2.1 问题陈述4
1.2.2 处理计划6
1.2.3 数据收集6
1.2.4 数据分析7
1.3 应用性能调校7
1.3.1 实例1:应用的速度慢7
1.3.2 实例2:存储过程X的速度慢8
1.3.3 工具10
1.3.4 预防措施13
1.4 小结14
第2章 使用System Monitor监视服务器资源15
2.1 为什么可能会需要System Monitor15
2.2 何时应当使用System Monitor16
2.3 Performance Monitor概述16
2.4 开始使用System Monitor18
2.5 运行System Monitor的影响是什么22
2.5.1 对监视的影响进行管理22
2.5.2 在恰当的时间,以恰当的持续时间进行捕获23
2.6 System Monitor将生成多少数据23
2.7 资源利用24
2.8 识别瓶颈25
2.8.1 定位内存瓶颈25
2.8.2 发现磁盘瓶颈26
2.8.3 识别CPU瓶颈28
2.9 主动使用System Monitor29
2.10 在64位系统上运行System Monitor29
2.11 合并System Monitor日志和SQL Profiler跟踪30
2.12 监视远程服务器31
2.13 System Monitor的最佳实践31
2.13.1 获得一个基线31
2.13.2 保留性能日志32
2.13.3 模式和趋势32
2.13.4 经受糟糕性能的服务器32
2.13.5 调校性能32
2.13.6 采取主动32
2.14 System Monitor计数器不见了应当怎么办33
2.15 内置日志管理工具34
2.15.1 LogMan34
2.15.2 Relog35
2.16 分析日志数据35
2.16.1 LogParser35
2.16.2 Performance Analysis of Logs36
2.17 小结37
第3章 使用System Monitor监视SQL Server资源39
3.1 开始40
3.2 性能问题的类型40
3.2.1 基于配置的性能问题40
3.2.2 于模式的性能问题41
3.3 瓶颈的类型42
3.4 内存瓶颈43
3.4.1 内存瓶颈的类型43
3.4.2 确认内存瓶颈44
3.4.3 基于配置的内存瓶颈45
3.4.4 基于模式的内存瓶颈46
3.5 CPU瓶颈46
3.5.1 确认CPU瓶颈46
3.5.2 基于配置的CPU瓶颈47
3.5.3 基于模式的CPU瓶颈48
3.6 磁盘瓶颈49
3.6.1 确认磁盘瓶颈49
3.6.2 基于配置的磁盘瓶颈50
3.6.3 基于模式的磁盘瓶颈53
3.7 监视数据库镜像性能55
3.8 监视Wait Statistics55
3.9 典型性能问题56
3.9.1 典型磁盘问题56
3.9.2 内存57
3.9.3 典型CPU问题57
3.10 使用SQL Server来分析性能日志59
3.11 联合Performance Monitor日志和SQL ProFiler跟踪63
3.12 小结64
第4章 SQL Server等待类型65
4.1 SQL Server等待65
4.2 体系结构66
4.3 常见的或值得注意的资源等待类型67
4.4 如何追踪等待68
4.4.1 sys.dm_exec-requests:只提供会话级信息68
4.4.2 sys.dm_os_waiting_tasks:所有等待任务69
4.4.3 sys.dm_os_wait_stats:根据等待类型聚集时间69
4.4.4 DMVStats70
4.4.5 Performance Dashboard71
4.4.6 等待统计实战71
4.5 加锁与阻塞77
4.5.1 并发性77
4.5.2 事务78
4.5.3 隔离级别79
4.5.4 锁和加锁80
4.5.5 数据行版本控制83
4.5.6 对死锁进行监视84
4.5.7 对阻塞锁进行监视87
4.6 小结89
第5章 使用SQL ProFiler寻找问题查询91
5.1 设置跟踪的准备工作91
5.1.1 检测“问题”陈述是否完备91
5.1.2 寻找相关已知问题92
5.1.3 以SQL Trace的术语进行思考92
5.1.4 SQL Trace选项及思考96
5.2 捕获阻塞事件102
5.3 捕获Showplan XML数据105
5.4 捕获死锁图107
5.5 使用SQL Profiler识别长时间运行的查询112
5.5.1 模拟一个场景及示例数据库112
5.5.2 分析问题112
5.5.3 设置113
5.5.4 进行跟踪115
5.5.5 分析和调校116
5.5.6 案例总结119
5.6 使用Profiler生成服务器端跟踪代码跟踪高成本查询119
5.6.1 使用Profiler生成服务器端跟踪脚本119
5.6.2 执行服务器端脚本123
5.6.3 管理跟踪文件并分析跟踪数据123
5.6.4 服务器端跟踪代码演示127
5.6.5 案例总结133
5.7 将Profiler Trace同System Monitor性能计数器数据关联起来133
5.8 小结135
第Ⅱ部分 通过调校去除瓶颈139
第6章 选择和配置硬件139
6.1 服务器瓶颈139
6.1.1 内存139
6.1.2 I/O140
6.1.3 CPU140
6.2 配置服务器140
6.2.1 内存142
6.2.2 I/O149
6.2.3 CPU158
6.3 小结166
第7章 调校SQL Server配置167
7.1 调整服务器级设置之前的考虑167
7.2 检查当前SQL Server设置168
7.2.1 使用SQL Server Management Studio检查服务器设置168
7.2.2 使用脚本检查服务器设置169
7.2.3 检查Advanced Settings并修改它们的值170
7.3 重要的服务器设置:CPU.内存和I/O171
7.3.1 CPU171
7.3.2 内存177
7.3.3 网络I/O178
7.4 小结181
第8章 调校模式183
8.1 数据质量183
8.1.1 规范化183
8.1.2 反规范化189
8.1.3 定义列191
8.1.4 存储过程205
8.1.5 触发器209
8.2 数据性能212
8.2.1 页212
8.2.2 分区215
8.2.3 并发性与加锁(以及阻塞)218
8.2.4 锁220
8.2.5 索引222
8.3 小结227
第9章 调校T-SQL229
9.1 开局:优化器的策略229
9.1.1 基于成本的优化230
9.1.2 读取索引统计230
9.1.3 Include Actual Execution Plan的误解232
9.1.4 使用sp_helpindex来检查索引232
9.2 中局:收集事实232
9.2.1 查询计划232
9.2.2 查询计划的实质234
9.2.3 从计划高速缓存中检索查询计划250
9.2.4 缓冲池251
9.3 终局:对T-SQL进行性能调校257
9.3.1 主要工具257
9.3.2 实例的必备索引259
9.4 使用新的方法来调校T-SQL259
9.4.1 NOTIN和NOTEXISTS重写已经成为过去259
9.4.2 通过将谓词在计划中推进到更深的位置进行重写260
9.4.3 为中间结果使用临时表262
9.4.4 SELECT语句中的用户定义函数263
9.4.5 改造SELECT265
9.5 调校T-SQL谓词269
9.5.1 去除特定隐式转换269
9.5.2 使用可搜索参数271
9.6 使用索引调校T-SQL274
9.6.1 最小化书签查找274
9.6.2 对结果进行排序276
9.6.3 处理编入索引的可空列277
9.6.4 消除重复278
9.7 调校T-SQL常见模式或惯用语280
9.7.1 单元素SELECT语句280
9.7.2 聚集和CTE283
9.7.3 派生表和相关子查询286
9.7.4 分页和排序290
9.8 使用提示调校T-SQL语句296
9.9 调校死锁和阻塞299
9.9.1 阻塞299
9.9.2 死锁299
9.9.3 预防措施300
9.10 对查询计划进化进行模拟压力测试303
9.11 小结306
第Ⅲ部分 使用工具来采取主动措施并建立性能基线309
第10章 使用SQL Profiler捕获、测量、重放工作负荷309
10.1 为了重放对工作负荷进行捕获309
10.1.1 为了重放对工作负荷进行刻画309
10.1.2 满足工作负荷重放的要求311
10.1.3 捕获工作负荷313
10.1.4 为了特殊需要在跟踪表中修改工作负荷314
10.2 测量工作负荷性能317
10.2.1 工作负荷的初步分析317
10.2.2 用于工作负荷重放的新的性能参考321
10.3 重放工作负荷323
10.3.1 为案例场景生成工作负荷325
10.3.2 场景1:验证性能改进326
10.3.3 场景2:在不同环境中重放工作负荷并测量总体响应时间329
10.3.4 场景3:在目标服务器上重放多个工作负荷332
10.4 小结337
第11章 调校索引339
11.1 示例数据库339
11.2 第1部分:索引回顾341
11.2.1 B树341
11.2.2 填充因子342
11.2.3 聚簇索引342
11.2.4 堆344
11.2.5 非聚簇索引345
11.2.6 统计346
11.2.7 加索引的视图350
11.3 第2部分:用DTA进行调校350
11.3.1 使用DTA调校个别的查询351
11.3.2 用于更新的索引360
11.3.3 增加更新索引后重新评定插入372
11.3.4 索引过多375
11.3.5 调校工作负荷378
11.4 第3部分:索引维护380
11.4.1 监视索引碎片380
11.4.2 删除碎片381
11.5 第4部分:分区的表和索引383
11.5.1 使用分区的表和索引的理由383
11.5.2 分区的先决条件384
11.5.3 创建分区的表384
11.6 小结394
第12章 存储的速度及健壮性395
12.1 性能测试、压力测试和实际性能395
12.1.1 性能测试395
12.1.2 压力测试396
12.1.3 实际性能396
12.1.4 汇总397
12.2 存储性能397
12.2.1 存储性能测量工具397
12.2.2 希望测量什么398
12.2.3 测量I/O性能400
12.2.4 使用SQLIO408
12.3 存储的可靠性434
12.3.1 SQLIOSim434
12.3.2 使用SQLIOSim434
12.3.3 SQLIOSim测试持续时间的最佳实践437
12.3.4 运行其他测试438
12.3.5 从命令行运行SQLIOSim446
12.3.6 解释来自SQLIOSim的结果446
12.4 小结449
第13章 SQL Server 2005Performance Dashboard Reports451
13.1 可支持性451
13.1.1 目录视图452
13.1.2 动态管理视图及函数452
13.1.3 默认跟踪453
13.1.4 困难456
13.2 Performance Dashboard Reports456
13.2.1 必要条件457
13.2.2 安装Performance Dashboard Reports457
13.2.3 运行Performance Dashboard Reports460
13.2.4 架构463
13.2.5 常见使用场景465
13.2.6 局限性469
13.3 相关链接471
13.4 小结471
第IV分 服务器性能的路线图475
第14章 从一开始就为性能进行设计的最佳实践475
14.1 理解性能需求475
14.1.1 数据库将支持多少用户476
14.1.2 用户/角色访问要求的本质478
14.1.3 业务事务要求的吞吐量479
14.1.4 软件应用程序的核心架构481
14.2 为未知的性能评估模式482
14.2.1 简化模式483
14.2.2 单一用途表483
14.2.3 单一用途列484
14.2.4 消除不明确的空字段486
14.2.5 基于ID的分区487
14.2.6 为了性能进行反规范化487
14.2.7 视图中函数的性能影响489
14.3 为性能评估索引490
14.3.1 不加思考/默认索引490
14.3.2 简单访问模式索引491
14.3.3 复杂访问模式索引491
14.4 为评估建立基准491
14.4.1 创建基准模式491
14.4.2 从DMV中提取Object_ID级信息492
14.4.3 捕获表吞吐量492
14.4.4 监视索引使用492
14.4.5 TempDB使用493
14.4.6 捕获阻塞信息494
14.4.7 监视高CPU使用495
14.4.8 监视高I/O产生者496
14.5 沟通性能问题497
14.6 小结498
第15章 成功的部署策略499
15.1 预估500
15.2 附加特性501
15.3 高可用性以及灾难恢复501
15.3.1 备份和恢复502
15.3.2 集群502
15.3.3 数据库镜像503
15.3.4 日志传送503
15.3.5 复制503
15.4 负荷测试504
15.5 管理变动504
15.6 处理大的表505
15.6.1 分区函数506
15.6.2 分区方案506
15.6.3 对表或索引进行分区507
15.7 使用SQL Server Profiler进行调校507
15.8 使用Database Engine Tuning Advisor进行调校507
15.9 错误预估实际执行环境的后果507
15.10 实际执行中的模式问题508
15.11 避免通过修改代码来解决问题509
15.11.1 查询509
15.11.2 查询计划510
15.11.3 Plan Guide511
15.11.4 创建Plan Guide之后的查询计划511
15.12 小结513