SQL Server 性能优化与管理的艺术 - (EPUB全文下载)
文件大小:0.59 mb。
文件格式:epub 格式。
书籍内容:
SQL Server 性能优化与管理的艺术
第1章 性能概述
1.1 何为性能
1.2 性能指标
1.3 性能目标
1.4 影响性能的常见因素
1.5 小结
第2章 初探优化
2.1 优化论
2.2 定义问题
2.3 根据性能数据分析问题
2.4 验证处理手段及部署
2.5 问题归档
2.6 小结
第二部分 SQL Server性能优化理论知识
第3章 体系结构
3.1 SQL Server查询体系
3.2 数据库事务
3.3 查询的生命周期
3.4 执行模型
3.5 SQLOS
3.6 SQL Server内存
3.7 小结
第4章 硬件资源
4.1 CPU
4.2 存储系统
4.3 CPU性能侦测
4.4 I/O性能侦测
4.5 小结
第5章 查询优化器
5.1 查询过程
5.2 查询优化器
5.3 执行引擎
5.4 统计信息和开销预估
5.5 优化器工作过程
5.6 小结
第6章 索引及统计信息
6.1 索引基础
6.2 索引存储基础
6.3 索引统计信息
6.4 索引误区及使用建议
6.5 索引维护
6.6 索引工具
6.7 索引策略
6.8 索引分析
6.9 案例
6.10 小结
第7章 等待
7.1 等待简介
7.2 查询等待
7.3 并行执行
7.4 多任务等待
7.5 I/O等待
7.6 备份和还原等待
7.7 锁定等待
7.8 数据库日志等待
7.9 外部资源等待
7.10 其他常见的等待类型
7.11 小结
第8章 执行计划
8.1 基础知识
8.2 图形化执行计划
8.3 控制执行计划
8.4 扩展信息
8.5 案例
8.6 小结
第9章 锁、阻塞和死锁
9.1 并发和事务
9.2 锁的基础
9.3 高级锁概念
9.4 控制锁行为
9.5 悲观并发的故障侦测
9.6 乐观并发
9.7 死锁
9.8 监控和处理
9.9 小结
第10章 TempDB
10.1 TempDB简介
10.2 TempDB上的常见问题及监控
10.3 优化TempDB
10.4 小结
第三部分 工具使用
第11章 使用传统工具定位瓶颈
11.1 使用性能监视器及PAL收集和分析性能
11.2 使用DMO获取性能数据
11.3 使用Profiler获取性能数据
11.4 DBCC命令
11.5 小结
第12章 使用新工具定位瓶颈
12.1 PSSDIAG
12.2 PowerShell
12.3 小结
第13章 Extended Events
13.1 简介
13.2 创建扩展事件
13.3 查询收集的数据
13.4 案例
13.5 小结
第14章 其他工具
14.1 SQLDiag
14.2 数据库性能优化顾问
14.3 Windows事件日志及SQL Server Errorlog
14.4 小结
第15章 优化服务器配置
15.1 数据库工作负载特点
15.2 工作负载优化步骤
15.3 小结
第1章 性能概述
在工作、论坛、博客及一些QQ群中,很多人总会问:怎样进行SQL Server性能优化?这个问题很难回答,一个千余人参与、发展了十几年的产品,其所涉及的性能优化并不是三言两语就可以说清楚的。想要熟练掌握该技能,需要系统地了解相关知识,而本书的主要目的就是帮助读者全面深入地把握知识结构。书中会告诉读者从哪里着手,优化的前提有哪些。但是,本书不是写给那些没有任何基础,连一个相对简单的查询语句都不会,或者连SSMS(SQL Server Management Studio)都不知道怎么打开的人看的。如果你是这样的人,建议你先看其他入门书籍。
本章首先会对全书进行一个简单概述,帮助读者了解一些与性能相关的知识。因为在处理性能问题之前,我们首先要知道,什么是性能问题。
1.1 何为性能
想要进行性能优化,首先必须要了解性能问题,也就是说,最起码要对性能问题有一个较为明确的定义。试想,你生病了,去看医生,一到医院,你就对医生说:医生,我很不舒服,赶紧给我开药。医生连你哪里不舒服、怎么不舒服都不知道,凭什么开药呢?所以我们首先要知道面临的是什么问题,才能找到相应的对策。
作为DBA,经常会被程序员、公司管理层问道:为什么数据库运行那么慢?如果你进一步询问他们慢到什么程度,有什么表征时,得到的答案往往又很模糊,可能只有慢或者卡。
所以在处理性能问题时,首先要对其有一个清晰的定义,不然会浪费很多时间去查找问题的所在。但是作为非专业人员,的确很难清晰定义所有的问题。为此,不妨来对性能问题下一个非官方的定义:
在现有资源没有达到最大吞吐量的前提下,若系统(包括操作系统、数据库管理系统、应用程序等)不能满足合理的预期表现,则可以定义为有性能问题。
注意上面的限定词——合理。你不应该对所有的应用和操作都赋予很高的期望,比如,对于OLAP系统,它的某些操作往往需要大量时间和资源(比如ETL),你不要期望它总是能在几秒内完成。当然,如果时间过长,也是可以定义为存在性能问题的。
另外,可以考虑一些非正式的定义,比如资源耗费明显过多、运行速度的下降超过规划速度等。
总之,在处理性能问题之前,尽可能给出清晰准确的定义,可以提高问题的解决效率。要分清什么是性能问题,什么不是性能问题(比如权限、某些硬件故障、某些程序bug),因为不同的问题对应的解决方案往往是不同的,所以首先应该对性能问题给出定义。
1.2 性能指标
定义性能问题时往往可以有很多指标,其中最常见、最重要的指标有3个:响应时间、吞吐量、可扩展性。响应时间这个指标其实很明显,一个查询运行得快,性能问题通常很少,但如果某个查询的运行时间明显过长,那就说明可能有一定的性能问题了,需要引起注意。终端用户基本上只会关心他/她的请求是否能足够快地得到响应,所以他们的“性能”汇报往往只是告诉你它很“慢”,而这个“慢”其实指的就是响应时间。吞吐量可以理解为网络、设备、端口、虚电路或其他设备单位时间内成功地传送数据的数量,也可以理解为资源的使用情况。比如磁盘,每秒的吞吐量越大,传输的数据就越多 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » SQL Server 性能优化与管理的艺术 - (EPUB全文下载)