SQL Server性能优化与管理的艺术
SQL Server性能优化与管理的艺术封面图

SQL Server性能优化与管理的艺术

黄钊吉, 著

出版社:机械工业出版社

年代:2014

定价:79.0

书籍简介:

本书共15章,分为三部分,第一部分(第1-2章)为概述部分,阐述SQL Server方面的“性能”及相关概念。并给出常规的性能及性能相关的问题侦测的“方法论”,读者可以通过这两章的介绍,对SQL Server性能问题有一个高层次的认识。第二部分(第3-10章)为知识准备部分,这部分介绍了SQL Server性能相关的基础知识。只有了解了性能及影响性能的相关部分,才能准确地、高效地进行优化。第三部分(第11-15章)为工具使用及优化演示,在多服务器、大数据的环境下,不应该再使用原始的故障侦测方法,借用各种工具能更全面、更高效地找到问题并且解决问题。

书籍目录:

目 录前 言第一部分 SQL Server性能优化概述第1章 性能概述 21.1 何为性能 21.2 性能指标 31.3 性能目标 31.4 影响性能的常见因素 41.4.1 应用程序的体系结构 41.4.2 应用程序设计 51.4.3 事务和隔离级别 51.4.4 T-SQL代码 51.4.5 硬件资源 61.4.6 SQL Server配置 61.5 小结 8第2章 初探优化 92.1 优化论 92.2 定义问题 102.2.1 使用工具找到性能瓶颈 122.2.2 通过性能数据进行分类 122.3 根据性能数据分析问题 142.4 验证处理手段及部署 142.5 问题归档 152.6 小结 15第二部分 SQL Server性能优化理论知识第3章 体系结构 183.1 SQL Server查询体系 183.2 数据库事务 223.2.1 事务特性 223.2.2 事务类型 223.3 查询的生命周期 233.3.1 SQL Server组件 233.3.2 缓冲池 233.3.3 简单的SELECT查询过程 233.4 执行模型 283.5 SQLOS 303.6 SQL Server 内存 303.6.1 物理内存和虚拟内存 303.6.2 SQL Server 内存 323.6.3 内存问题诊断 343.6.4 优化SQL Server内存配置 343.6.5 优化Ad-Hoc 工作负载 363.7 小结 38第4章 硬件资源 394.1 CPU 394.1.1 SQL Server工作负载类型 394.1.2 CPU评估 404.1.3 CPU配置 434.2 存储系统 434.2.1 磁盘I/O 434.2.2 驱动器类型 444.2.3 RAID配置 454.2.4 配置存储系统 464.2.5 检查读写速率 464.3 CPU 性能侦测 484.3.1 侦测CPU压力 484.3.2 研究CPU相关的等待信息 494.3.3 查找CPU消耗高的查询 504.3.4 常见高CPU利用率的原因 514.4 I/O性能侦测 594.5 小结 59第5章 查询优化器 605.1 查询过程 605.2 查询优化器 625.2.1 产生执行计划 625.2.2 连接 635.3 执行引擎 665.3.1 数据访问操作 665.3.2 聚合操作 705.3.3 并行执行 735.4 统计信息和开销预估 735.4.1 统计信息 735.4.2 统计信息维护 775.4.3 计算列上的统计信息 785.4.4 过滤索引上的统计信息 795.4.5 预估数量错误 815.4.6 更新统计信息 815.5 优化器工作过程 835.6 小结 88第6章 索引及统计信息 896.1 索引基础 906.1.1 为什么要索引 906.1.2 索引的主要类型 916.1.3 索引元数据 916.2 索引存储基础 926.2.1 SQL Server存储基础 926.2.2 页的组织 956.2.3 检查工具 986.2.4 页碎片 1106.3 索引统计信息 1136.3.1 索引层级的统计信息 1136.3.2 索引使用的统计信息 1176.3.3 索引操作的统计信息 1206.3.4 索引物理统计信息 1266.4 索引误区及使用建议 1276.4.1 常见误区 1276.4.2 索引使用建议 1356.4.3 关于索引的查询建议 1376.5 索引维护 1436.5.1 索引碎片 1436.5.2 索引统计信息维护 1556.6 索引工具 1566.6.1 缺失索引DMO 1566.6.2 使用DMO 1586.6.3 数据库引擎优化顾问 1596.6.4 使用DMO侦测索引问题 1626.7 索引策略 1656.7.1 堆 1656.7.2 聚集索引 1676.7.3 非聚集索引 1686.7.4 索引存储 1826.7.5 索引视图 1856.8 索引分析 1876.8.1 索引方法论 1876.8.2 监控 1886.8.3 分析 1996.8.4 实施 2126.8.5 重复 2136.9 案例 2136.10 小结 215第7章 等待 2167.1 等待简介 2177.1.1 什么是等待 2177.1.2 为什么需要等待信息 2187.1.3 保存等待信息 2187.2 查询等待 2197.3 并行执行 2197.3.1 CXPACKET 2207.3.2 CXPACKET潜在问题 2217.3.3 降低CXPACKET等待 2217.3.4 CXPACKET深度分析 2227.3.5 CXPACKET建议 2227.4 多任务等待 2237.4.1 SOS_SCHEDU-LER_YIELD 2237.4.2 多任务类型 2257.4.3 多任务潜在问题 2267.4.4 降低多任务等待 2267.5 I/O 等待 2277.6 备份和还原等待 2317.7 锁定等待 2317.8 数据库日志等待 2337.9 外部资源等待 2357.10 其他常见的等待类型 2377.11 小结 238第8章 执行计划 2398.1 基础知识 2398.1.1 查询提交 2408.1.2 预估与实际执行计划 2418.1.3 执行计划重用 2428.1.4 清除缓存的执行计划 2438.1.5 执行计划格式 2438.1.6 使用DMO获取缓存中的执行计划 2438.1.7 使用SQL Trace自动获取执行计划 2448.2 图形化执行计划 2448.2.1 基础知识 2458.2.2 单表查询 2458.2.3 表关联 2528.2.4 筛选数据 2568.2.5 常见操作符 2588.2.6 INSERT/UPDATE/DELETE的执行计划 2618.2.7 复杂查询 2648.3 控制执行计划 2808.3.1 查询提示 2818.3.2 联接提示 2938.3.3 表提示 2978.4 扩展信息 2988.4.1 阅读庞大的执行计划 2988.4.2 并行操作 3058.4.3 强制参数化 3068.4.4 使用计划指南 3078.5 案例 3138.6 小结 316第9章 锁、阻塞和死锁 3179.1 并发和事务 3189.1.1 悲观并发和乐观并发 3199.1.2 事务 3209.1.3 丢失更新 3259.2 锁的基础 3279.2.1 锁定概述 3279.2.2 锁资源/锁类型 3289.2.3 锁模式 3299.2.4 锁的持续时间 3309.2.5 锁的所有权 3309.2.6 锁的元数据 3319.3 高级锁概念 3329.3.1 锁兼容性 3329.3.2 锁模式转换 3339.3.3 意向锁 3359.3.4 键范围锁 3359.3.5 锁升级 3369.3.6 其他类型的锁 3389.3.7 非锁定引起的阻塞 3399.4 控制锁行为 3399.4.1 通过隔离级别控制并发性和锁定行为 3409.4.2 设定锁的超时时间 3409.4.3 锁提示 3419.5 悲观并发的故障侦测 3419.5.1 侦测锁定 3419.5.2 阻塞的故障排查 3449.6 乐观并发 3489.6.1 行版本存储 3499.6.2 行版本存储工作机制 3499.6.3 基于快照的隔离模式 3499.6.4 监控和管理版本存储 3509.6.5 管理版本存储 3519.6.6 选择并发模式 3539.7 死锁 3549.7.1 死锁类型 3549.7.2 自动死锁侦测 3569.7.3 捕获死锁 3569.7.4 读懂死锁图 3639.7.5 最小化死锁 3649.8 监控和处理 3669.8.1 使用DMV捕获阻塞信息 3669.8.2 使用Extended Events和blocked_process_report事件捕获 3689.8.3 阻塞问题解决方案 3689.8.4 建议 3699.9 小结 371第10章 TempDB 37210.1 TempDB简介 37210.1.1 TempDB是什么 37210.1.2 什么操作会用到TempDB 37310.2 TempDB上的常见问题及监控 37810.2.1 空间问题 37810.2.2 TempDB的I/O瓶颈 38210.2.3 过多的DDL操作导致系统表上的瓶颈 38310.3 优化TempDB 38310.3.1 配置TempDB 38410.3.2 优化TempDB 38510.3.3 扩充阅读 38610.4 小结 386第三部分 工具使用第11章 使用传统工具定位瓶颈 38811.1 使用性能监视器及PAL收集和分析性能 38911.1.1 性能监视器 38911.1.2 数据收集器集 39211.1.3 使用PAL分析 40311.2 使用DMO获取性能数据 40711.2.1 DMO介绍 40711.2.2 示例 40711.3 使用Profiler获取性能数据 41411.3.1 用法及注意事项 41411.3.2 Profiler示例 41611.3.3 SQL Trace示例 41911.4 DBCC命令 42211.4.1 DBCC SQLPERF 42211.4.2 DBCC INPUTBUFFER 42411.4.3 DBCC TRACEON/TRACEOFF 42511.4.4 DBCC SHOWCONTIG 42511.4.5 DBCC OPENTRAN 42611.5 小结 427第12章 使用新工具定位瓶颈 42812.1?PSSDIAG 42812.2 PowerShell 43412.2.1 简介 43412.2.2 打开PowerShell 43412.2.3 使用PowerShell侦测服务器问题 43512.3 小结 438第13章 Extended Events 43913.1 简介 43913.2 创建扩展事件 44413.3 查询收集的数据 44913.3.1 监视实时数据 44913.3.2 使用T-SQL查看 45113.4 案例 45213.5 小结 458第14章 其他工具 45914.1 SQLDiag 45914.2 数据库性能优化顾问 46214.2.1 使用DTA进行单查询分析 46214.2.2 使用DTA进行全库分析 46614.3 Windows事件日志及SQL Server Errorlog 47014.3.1 Windows事件日志 47014.3.2 SQL Server 错误日志 47114.4 小结 472第15章 优化服务器配置 47315.1 数据库工作负载特点 47315.1.1 基础知识 47315.1.2 工作负载配置 47415.2 工作负载优化步骤 47715.2.1 数据库设计 47715.2.2 查询设计 47815.2.3 数据库服务器配置 47815.2.4 数据库管理 47915.2.5 数据库备份 48015.3 小结 481

内容摘要:

1. 深入剖析SQL Server的优化与管理机制及核心技术,从“方法论”的角度指导读者定位和解决问题,以独特视角展示SQL Server管理之道。2. 收录了与SQL Server性能优化相关的各类问题和工作中的“雷区”并给出了解决方法,包含大量技巧和最佳实践。本书共15章,分为三部分,第一部分(第1-2章)为概述部分,阐述SQLServer方面的“性能”及相关概念。并给出常规的性能及性能相关的问题侦测的“方法论”,读者可以通过这两章的介绍,对SQLServer性能问题有一个高层次的认识。第二部分(第3-10章)为知识准备部分,这部分介绍了SQLServer性能相关的基础知识。只有了解了性能及影响性能的相关部分,才能准确地、高效地进行优化。第三部分(第11-15章)为工具使用及优化演示,在多服务器、大数据的环境下,不应该再使用原始的故障侦测方法,借用各种工具能更全面、更高效地找到问题并且解决问题。【作者简介】黄钊吉 数据平台架构师,从事数据库管理、优化及平台搭建工作,获得MCITP 2008 DBA认证、MCSE DATA Platform 认证,CSDN论坛SQL Server 大版主、博客专家,2013年至2014年连续两年被评为SQL Server MVP。曾参与服饰类电子商务网站、银行系统的开发管理工作及ERP系统、欧洲信用卡平台系统(基于亚马逊云服务,AWS)的数据库管理及平台架构工作。

书籍规格:

书籍详细信息
书名SQL Server性能优化与管理的艺术站内查询相似图书
9787111473244
如需购买下载《SQL Server性能优化与管理的艺术》pdf扫描版电子书或查询更多相关信息,请直接复制isbn,搜索即可全网搜索该ISBN
出版地北京出版单位机械工业出版社
版次1版印次1
定价(元)79.0语种简体中文
尺寸19 × 24装帧平装
页数 416 印数 4000

书籍信息归属:

SQL Server性能优化与管理的艺术是机械工业出版社于2014.8出版的中图分类号为 TP311.138 的主题关于 关系数据库系统 的书籍。