| 书[0名0]: | SQL Server 性能[0优0]化与管理的艺术[按需印刷]|3770535 |
| 图书定价: | 89元 |
| 图书作者: | 黄钊吉 |
| 出版社: | [1机1] 械工业出版社 |
| 出版日期: | 2014-09-01 0:00:00 |
| ISBN号: | 9787111473244 |
| 开本: | 16开 |
| 页数: | 481 |
| 版次: | 1-1 |
| 作者简介 |
| 黄钊吉,数据平台架构师,从事数据库管理、[0优0]化及平台搭建工作,获得MCITP 2008 DBA认证、MCSE DATA Platform认证,CSDN论坛SQL Server[0大0]版主、博客专家,2013年至2014年连续两年被[0评0]为SQL Server MVP。曾参与服饰类电子[0商0]务网站、银行系统的开发管理工作及ERP系统、欧洲信用卡平台系统(基于云服务,AWS)的数据库管理及平台架构工作。 |
| 内容简介 |
| 全书共15章,分为三部分,[0第0]一部分([0第0]1~2章)为概述部分,阐述SQL Server方面的“性能”及相关概念。并给出常规的性能及性能相关的问题侦测的“方[0法0]论”,读者可以通过这两章的介绍,对SQL Server性能问题有一个高层次的认识。[0第0]二部分([0第0]3~10章)为[0知0]识准备部分,这部分介绍了SQL Server性能相关的基础[0知0]识。只有了解了性能及影响性能的相关部分,才能准确地、高效地进行[0优0]化。[0第0]三部分([0第0]11~15章)为工具使用及[0优0]化演示,在多服务器、[0大0]数据的环境下,不应该再使用原始的故障侦测方[0法0],借用各种工具能更全面、更高效地找到问题并且解决问题。 通过这三部分的介绍,可以使读者有一个清晰的性能[0优0]化及管理方面的认识,并且通过[0大0]量演示,让读者能够较快地进入实战阶段。《SQL Server 性能[0优0]化与管理的艺术》的重点主要集中在[0第0]二部分,既介绍了性能相关的部分,以便后续使用,也给出了一个后续深入[0学0]习的“清单”,读者不应止步于本书,可以根据书中的[0知0]识点,进行更深入的[0学0]习。 |
| 目录 |
《SQL Server 性能[0优0]化与管理的艺术》 前 言 [0第0]一部分 SQL Server性能[0优0]化概述 [0第0]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 [0第0]2章 初探[0优0]化 9 2.1 [0优0]化论 9 2.2 定义问题 10 2.2.1 使用工具找到性能瓶颈 12 2.2.2 通过性能数据进行分类 12 2.3 根据性能数据分析问题 14 2.4 验证处理手段及部署 14 2.5 问题归档 15 2.6 小结 15 [0第0]二部分 SQL Server性能[0优0]化理论[0知0]识 [0第0]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 [0优0]化SQL Server内存配置 34 3.6.5 [0优0]化Ad-Hoc 工作负载 36 3.7 小结 38 [0第0]4章 硬件资源 39 4.1 CPU 39 4.1.1 SQL Server工作负载类型 39 4.1.2 CPU[0评0]估 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 [0第0]5章 查询[0优0]化器 60 5.1 查询过程 60 5.2 查询[0优0]化器 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 [0优0]化器工作过程 83 5.6 小结 88 [0第0]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 数据库引擎[0优0]化顾问 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 索引方[0法0]论 187 6.8.2 监控 188 6.8.3 分析 199 6.8.4 实施 212 6.8.5 重复 213 6.9 案例 213 6.10 小结 215 [0第0]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 [0第0]8章 执行计划 239 8.1 基础[0知0]识 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 基础[0知0]识 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 阅读庞[0大0]的执行计划 298 8.4.2 并行操作 305 8.4.3 强制参数化 306 8.4.4 使用计划指南 307 8.5 案例 313 8.6 小结 316 [0第0]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 锁的所有[0权0] 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 设定锁的[0超0]时时间 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 行版本存储工作 [1机1] 制 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 [0第0]10章 TempDB 372 10.1 TempDB简介 372 10.1.1 TempDB是什么 372 10.1.2 什么操作[0会0]用到TempDB 373 10.2 TempDB上的常见问题及监控 378 10.2.1 空间问题 378 10.2.2 TempDB的I/O瓶颈 382 10.2.3 过多的DDL操作导致系统表上的瓶颈 383 10.3 [0优0]化TempDB 383 10.3.1 配置TempDB 384 10.3.2 [0优0]化TempDB 385 10.3.3 扩充阅读 386 10.4 小结 386 [0第0]三部分 工具使用 [0第0]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 用[0法0]及注意事项 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 [0第0]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 [0第0]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 [0第0]14章 其他工具 459 14.1 SQLDiag 459 14.2 数据库性能[0优0]化顾问 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 [0第0]15章 [0优0]化服务器配置 473 15.1 数据库工作负载特点 473 15.1.1 基础[0知0]识 473 15.1.2 工作负载配置 474 15.2 工作负载[0优0]化步骤 477 15.2.1 数据库设计 477 15.2.2 查询设计 478 15.2.3 数据库服务器配置 478 15.2.4 数据库管理 479 15.2.5 数据库备份 480 15.3 小结 481 |
| 编辑推荐 |
| 怎样的数据库管理技术才能真正有效地支持现代企业的数据库管理?如何提升数据库管理员的工作效率?这些都成为了众多数据库管理员希望了解和掌握的内容。黄钊吉编*的这本《SQL Server性能[0优0]化与管理的艺术》用了[0大0]量的实战案例与您探讨其中的答案,书中不仅介绍了实践中常见的SQL Server数据库[0优0]化技巧,*是从思路和方[0法0]上给出了详细的总结和归纳,并对[0大0]量的实践案例进行了全程分享展示。相信这本书不但能对数据库管理员有所帮助,对数据库开发人员来说,也有着提升相关能力的作用。 |
说实话,我买这本书,更多的是被它的“按需印刷”这个特点给吸引的。现在很多技术书籍更新迭代太快了,有些内容可能还没等我看透,就已经过时了。但SQL Server作为一款成熟的数据库产品,它的核心原理和优化思想,我想应该是有一定的稳定性。所以,对于这种“按需印刷”的图书,我反而觉得它更加精炼,不会有太多冗余的内容,而且更注重实用性和时效性。我希望这本书能够提供一些可以直接应用到实际工作中的技巧和方法,而不是那些过于理论化、脱离实际的讲解。尤其是在性能优化的部分,我希望能看到一些针对不同场景的优化方案,比如对于OLTP系统和OLAP系统,它们的优化侧重点肯定是不一样的。还有就是,这本书的“计算机与互…”这个后缀,让我猜测它可能不仅仅局限于SQL Server本身,或许还会涉及到一些与操作系统、网络、存储等相关的优化知识,这对我来说是加分项,因为很多性能问题往往是跨领域的。如果这本书能提供一个更宏观的视角,把SQL Server的性能优化放在整个IT架构的背景下进行分析,那绝对是一本值得深入研究的好书。
评分我最近正在深入研究数据库的方方面面,特别是对于那些能够显著提升系统响应速度和稳定性的技术,我总是充满了好奇心。当我偶然看到这本书的标题时,那种“艺术”二字所蕴含的意境,立刻勾起了我的兴趣。我理解的“艺术”并非指花哨的技巧,而是指那些在纷繁复杂的现象背后,洞察本质,并以简洁、高效、富有洞察力的方式解决问题的能力。我希望这本书能帮助我构建起对SQL Server性能优化更深层次的理解,不仅仅是停留在表面的SQL调优,而是能够触及到索引策略、查询执行计划的深度解析、内存管理、I/O优化、并发控制等等这些影响性能的底层机制。而且,作为一个项目负责人,我还需要考虑数据库的整体管理,包括如何制定合理的维护计划,如何进行性能基线的设定和监控,如何应对突发的性能问题,以及如何从容应对海量数据的增长。这本书的“管理”部分,如果能提供一些实用的案例分析和最佳实践,那将是极大的帮助。我期待着它能成为我数据库学习道路上的一个里程碑,让我从一个“使用者”蜕变成一个“优化者”和“管理者”。
评分我是一位资深的DBA,职业生涯中与SQL Server打交道的时间也不短了。坦白说,市面上关于SQL Server的书籍确实不少,但能够真正触及到“艺术”层面的,又有多少呢?我之所以对这本书产生兴趣,是因为我一直相信,性能优化并非简单的调参和改写SQL,它更需要的是一种对数据库运行机制的深刻理解,一种能够从纷繁复杂的现象中找出关键症结的能力。这本书的标题,尤其是“艺术”二字,让我联想到了那些真正的大师,他们能够通过细致入微的观察和深厚的功底,将看似棘手的性能问题迎刃而解。我非常期待这本书能够提供一些更高级、更深入的调优思路,比如如何通过分析SQL Server内部的闩锁、锁升级、死锁等机制来解决并发问题,如何理解和利用SQL Server的内存结构和缓存策略来提升查询速度,以及如何针对不同的硬件环境进行定制化的性能优化。另外,这本书的“管理”部分,如果能提供一些关于如何构建高可用性、灾难恢复方案,以及如何进行安全加固的实战经验,那将是对我职业生涯的一次极大的补充。
评分作为一名刚刚接触SQL Server的初学者,我一直在寻找一本能够系统地引导我入门,并且能够让我对SQL Server有一个全面认识的书籍。这本书的“性能优化与管理”这个主题,虽然听起来有点难度,但“艺术”二字却让我觉得它可能并不会枯燥乏味。我希望这本书能用一种循序渐进的方式,从最基础的概念讲起,逐步深入到性能优化的各个方面。我尤其希望能看到书中能够详细解释SQL Server的架构,比如它的内存模型、存储模型、查询处理流程等等,这些基础知识对于理解性能问题至关重要。在性能优化方面,我希望能学到一些通用的优化原则,以及如何识别和解决常见的性能瓶颈,比如慢查询、高CPU使用率、I/O瓶颈等等。同时,我也希望书中能包含一些关于SQL Server日常管理的知识,比如如何创建和维护数据库、如何进行用户和权限管理、如何进行备份和恢复操作等等。这本书如果能为我打开SQL Server的世界,并让我对其性能优化和管理有一个初步但清晰的认识,那我将非常满足。
评分这本书的封面设计倒是挺有意思的,那种略带磨砂质感的纸张,拿在手里沉甸甸的,让人感觉很踏实。我拿到的时候,第一眼就被这个书名吸引了,“性能优化与管理的艺术”,听起来就很有深度,而且“SQL Server”这个关键词更是戳中了我的痛点,毕竟最近在处理一个涉及大量数据读写的项目,性能瓶颈问题一直困扰着我。我之前也看过一些关于SQL Server优化的零散文章和教程,但总感觉不成体系,缺乏系统性的指导。这本书的标题给我一种“集大成者”的预感,希望能从理论到实践,全方位地解答我遇到的难题。我尤其期待书中能讲解一些深入的性能调优策略,比如如何从操作系统层面、SQL Server实例层面、数据库设计层面以及SQL语句层面进行细致的分析和优化。另外,“管理”这个词也让我有所期待,毕竟一个良好的性能表现离不开有效的管理和监控,希望书中能涵盖一些关于SQL Server的日常维护、备份恢复、安全策略以及性能监控的实用技巧。总体来说,这本书给我的第一印象是专业、实用,并且能够解决我在实际工作中遇到的具体问题。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.idnshop.cc All Rights Reserved. 静思书屋 版权所有