发表于2024-11-23
书[0名0]: | SQL Server性能调[0优0]实战[按需印刷]|4881445 |
图书定价: | 69元 |
图书作者: | 陈[0畅0]亮;吴一晴 |
出版社: | [1机1] 械工业出版社 |
出版日期: | 2015-10-01 0:00:00 |
ISBN号: | 9787111517023 |
开本: | 16开 |
页数: | 0 |
版次: | 1-1 |
作者简介 |
陈[0畅0]亮,程序员出身,经过几年的软件开发之后转职为DBA,热衷于技术分享。多年来活跃于博客园,是微软SQL Server方向有价值的专家(MVP),受邀以演讲嘉宾身份参加了2015年DTCC(中[0国0]数据库技术[0大0][0会0])。对SQL Server的设计与[0优0]化有深刻认识,实战经验丰富,同时撰写了[0大0]量关于SQL Server的技术文章。研究方向为SQL Server、MySQL、[0No0]SQL,以及分布式环境下海量数据存储的设计与开发。 吴一晴,2007年毕业于厦门集美[0大0][0学0]诚毅[0学0]院,同年就职于厦门某物流软件科技公司,担任架构师职位,主要从事C#开发及.net框架维护。2010至2014年就职于厦门某电子[0商0]务技术公司,并开始为美[0国0]旗下Quidsi公司从事SQL Server的数据库管理及运维工作。2015年就职于[0国0]内某家装互联网O2O企业,担任数据库管理员职位,主要从事Linux、MySQL、MongoDB以及PostgreSQL等开源项目的管理和架构规划及运维工作。 |
内容简介 |
本书是一线DBA技术专家精心之作,积作者多年的经验结晶和佳实践,也是目前市场上为数不多通过存储原理来讲解性能[0优0]化,剖析SQL Server架构,从而帮助读者快速高效调[0优0]数据库的图书。 书中[0首0]先简要介绍了SQL Server与性能实践相关的一些基础语[0法0]及配置信息.提出与数据库性能相关的几个概要信息,再根据SQL Server数据的内部实现原理讲解如何调整和[0优0]化SQL Server数据库实例的配置;接着介绍SQL Server数据库存储引擎的语句[0优0]化,执行计划内部原理以及索引等综合因囊分析如何[0优0]化数据库语句,保证数据库的稳定性及效率;后从SQL Server的数据库性能监控及高可用性解决方案,提出性能监控及设计层面的[0优0]化。 |
目录 |
序1 序2 [0第0]1章 安装、配置SQL Server 1 1.1 SQL Server概述 1 1.1.1 简介 1 1.1.2 发展历[0史0] 1 1.2 SQL Server安装 2 1.2.1 硬件准备与性能 2 1.2.2 操作系统的选择 3 1.3 SQL Server配置 4 1.3.1 配置管理器 4 1.3.2 数据库实例配置 5 1.4 小结 6 [0第0]2章 影响SQL Server性能的因素 7 2.1 服务器硬件 8 2.1.1 内存 8 2.1.2 CPU 8 2.1.3 磁盘I/O 9 2.1.4 网络带宽 9 2.2 SQL Server版本对性能的限制 10 2.3 SQL Server系统的配置 10 2.3.1 内存配置 10 2.3.2 CPU配置 11 2.3.3 I/O及数据文件配置 11 2.4 数据库结构的设计 12 2.4.1 好的性能出自好的设计 12 2.4.2 约束对性能的影响 12 2.4.3 适[0当0]的冗余 13 2.5 T-SQL语句的编写 13 2.5.1 编写T-SQL语句的注意事项及小窍门 13 2.5.2 使用简单SQL语句 14 2.6 小结 14 [0第0]3章 T-SQL与性能调[0优0] 15 3.1 编写健壮的T-SQL语句 15 3.2 使用查询语句 17 3.2.1 SELECT语句 17 3.2.2 SELECT语句的性能 18 3.3 使用排序子句 19 3.3.1 排序子句 19 3.3.2 排序的性能影响 19 3.3.3 排序对Tempdb的影响 20 3.4 使用T-SQL汇总 21 3.4.1 GROUP BY 21 3.4.2 DISTINCT 22 3.4.3 GROUP BY与性能 22 3.5 UPDATE语句 22 3.5.1 UPDATE 23 3.5.2 UPDATE语句与事务影响 23 3.6 DELETE语句 25 3.6.1 DELETE、TRUNCATE TABLE 25 3.6.2 删除操作与事务日志 26 3.7 使用过滤条件(WHERE子句) 26 3.7.1 合理[0优0]化因素 26 3.7.2 合理利用索引 27 3.8 连接查询 27 3.8.1 连接类型 27 3.8.2 认识连接操作 28 3.9 子查询 30 3.9.1 子查询与性能 31 3.9.2 IN、EXISTS与LEFT JOIN的性能对比 31 3.9.3 FOR XML子句 32 3.10 批量更新数据 34 3.10.1 BULK...INSERT 34 3.10.2 INSERT...SELECT 34 3.10.3 SELECT...INTO 35 3.10.4 OUTPUT子句 35 3.10.5 MERGE 36 3.10.6 BCP工具 36 3.11 运行时动态管理视图 36 3.12 小结 37 [0第0]4章 SQL Server的内存管理 38 4.1 Windows的内存管理 38 4.1.1 32位操作系统 39 4.1.2 64位操作系统 41 4.2 SQL Server的内存管理 41 4.2.1 SQLOS内存管理组件 41 4.2.2 内存中的数据 44 4.3 诊断内存瓶颈 46 4.3.1 资源管理器诊断示例 48 4.3.2 性能计数器诊断示例 48 4.4 案例分析 49 4.4.1 案例一:内存不足造成的磁盘[0超0]负荷 49 4.4.2 案例二:内存不足的信号(RESOURCE_SEMAPHORE) 50 4.5 小结 53 [0第0]5章 SQL Server的任务调度 54 5.1 任务调度者 54 5.2 工作者 55 5.3 任务 57 5.4 任务调度与资源等待 58 5.5 CPU性能监控及示例 61 5.5.1 使用动态管理视图诊断 61 5.5.2 使用性能计数器诊断 62 5.5.3 MDW 63 5.6 小结 65 [0第0]6章 SQL Server执行计划分析 66 6.1 查看执行计划 66 6.2 查询[0优0]化器与执行计划的选择 70 6.2.1 统计信息 71 6.2.2 统计信息与执行计划(示例详解) 74 6.3 常用的执行计划操作符 75 6.3.1 数据访问操作符 76 6.3.2 关联操作符 79 6.3.3 聚合操作符 83 6.4 执行计划缓存及重编译 86 6.4.1 语句级别的重编译 87 6.4.2 导致重编译的因素 87 6.4.3 监视和解决重编译问题 88 6.5 执行计划实践 88 6.5.1 案例一(参数嗅探) 88 6.5.2 案例二(疯狂的重编译) 93 6.6 小结 95 [0第0]7章 索引 96 7.1 索引概念 97 7.1.1 什么是索引 97 7.1.2 索引的类型 97 7.1.3 特殊的索引 98 7.2 索引的物理结构 99 7.2.1 基本概念 99 7.2.2 查看文件存储格式的几种方[0法0] 103 7.2.3 RID的物理结构 110 7.2.4 UNIQUIFIER物理结构 117 7.2.5 堆表行记录的物理结构 129 7.2.6 堆表非聚集索引的物理结构 149 7.2.7 聚集索引的物理结构 185 7.2.8 非聚集索引的物理结构 191 7.2.9 NULL位图物理结构 197 7.2.10 行溢出物理结构 203 7.2.11 LOB的物理结构 209 7.3 索引的选择 229 7.3.1 覆盖索引 230 7.3.2 索引的分析 231 7.4 查看缺失的索引 238 7.4.1 执行计划中查看缺失索引 238 7.4.2 查看所有缺失索引的字段 238 7.5 查看无效索引 240 7.6 案例分析:统计信息失效 240 7.7 小结 243 [0第0]8章 锁、事务与性能 244 8.1 锁、事务要解决的问题 244 8.2 事务的控制 249 8.3 锁粒度 250 8.4 锁模式 250 8.5 锁兼容性 251 8.6 阻塞、死锁及性能[0优0]化 253 8.7 锁的监控 255 8.7.1 与锁相关的性能计数器 255 8.7.2 锁相关的动态管理视图简介 256 8.7.3 SQL Profiler 256 8.7.4 死锁标记 256 8.8 轻量级锁闩锁 259 8.8.1 闩锁模式 259 8.8.2 闩锁的兼容性 260 8.8.3 查看闩锁 260 8.9 自定义事务报警 262 8.9.1 阻塞报警 262 8.9.2 死锁报警 264 8.10 小结 265 [0第0]9章 理解和使用Tempdb 266 9.1 Tempdb的工作 266 9.2 表变量、临时表 267 9.2.1 统计信息 269 9.2.2 临时表和表变量的索引 269 9.2.3 表结构修改 270 9.3 Tempdb的并发阻塞 270 9.4 监视Tempdb 274 9.4.1 性能计数器 274 9.4.2 动态管理视图 274 9.5 小结 275 [0第0]10章 SQL Server数据库性能监控 276 10.1 SQL Profiler/Trace 276 10.1.1 选择跟踪模板 276 10.1.2 选择跟踪事件 278 10.1.3 过滤跟踪 279 10.2 Data Collector与MDW 280 10.2.1 MDW的配置 280 10.2.2 查看性能报表 281 10.3 性能监控的性能计数器 284 10.4 扩展事件 285 10.5 小结 288 [0第0]11章 SQL Server数据库企业级配置与性能 289 11.1 数据库表的配置 289 11.1.1 数据压缩 289 11.1.2 分区表和分区视图 290 11.2 高可用性解决方案 290 11.2.1 企业数据库发展阶段 290 11.2.2 业务功能的数据同步 293 11.3 小结 298 |