书籍详情
Microsoft SQL Server 2005技术内幕:查询、调整和优化
作者:(美)德莱尼 等著,金成姬,陈绍英 译
出版社:电子工业出版社
出版时间:2009-07-01
ISBN:9787121089718
定价:¥59.80
购买这本书可以去
内容简介
《Microsoft SQL Server 2005技术内幕:查询、调整和优化》是Inside Microsoft SQL Server 2000的作者Kalen Delaney的又一经典著作,是Inside Microsoft SQL Server 2005系列四本著作中的一本。书中详细介绍了如何使数据查询更加高能高效,同时使现有资源最大化的方法。本书还包含了大量的代码示例和表示例以帮助数据库开发人员和管理员理解复杂的逻辑并掌握查询调整和优化。通过阅读本书,数据库开发人员将能够加深对查询优化背景的理解和应用,并开发和调整优化出反应速度更快的数据库。本书适合于专业数据库开发者、BI开发者、DBA和以SQL Server作为后台数据库的一般应用程序开发者,读者可以通过书中的最佳实践、高级技巧和代码示例来掌握查询调整和优化的技巧,以针对不同问题开发出切合实际的高效能的方案。
作者简介
Kalen Delaney还是微软出版社Inside Microsoft SQL Server丛书的编辑,她从事SQL Server方面的工作已有20多年。在SQL Server社区,她是一位知名的专家。她于1995年被评为微软最有价值的专家(MVP)。Kalen是SQL Server Magazine的特约编辑和专栏作家,她还写作了大量的SQL Server方面的图书,包括著名的Inside Microsoft SQL Server 2000。
目录
序
致谢
引言
Microsoft SQL Server技术内幕丛书的历史
丛书结构
《Microsoft SQL Server 2005技术内幕:T-SQL查询》
《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》
《Microsoft SQL Server 2005技术内幕:存储引擎》
《Microsoft SQL Server 2005技术内幕:查询、调整和优化》
例子和脚本
未被涵盖的主题
免责条款
如何获得支持
关联网站
微软学习站点
第1章 性能故障检修方法
1.1 影响性能的因素
1.1.1 应用程序的体系结构
1.1.2 应用程序设计
1.1.3 事务与隔离级别
1.1.4 Transact-SQL代码
1.1.5 硬件资源
1.1.6 SQL Server配置
1.2 故障排查概要
1.2.1 建立一个工作负荷的基线
1.2.2 监视工作负荷
1.2.3 检测、隔离及常见性能故障的排查
1.3 小结
第2章 跟踪和性能分析
2.1 SQL跟踪体系结构及术语
2.1.1 内部跟踪组件
2.1.2 跟踪I/O提供者
2.2 安全和权限
2.2.1 修改跟踪(ALTER TRACE)权限
2.2.2 保护敏感事务数据
2.3 入门:性能分析器
2.3.1 性能分析器的基本原理
2.3.2 保存和重演跟踪
2.4 服务器端跟踪和收集
2.4.1 编辑服务器端跟踪
2.4.2 查询服务器端跟踪元数据
2.4.3 由服务器端跟踪检索数据
2.4.4 停止和关闭跟踪
2.4.5 审查行集提供者
2.5 跟踪的故障排查及分析
2.5.1 常用的SQL跟踪事件类
2.5.2 性能调校
2.5.3 识别异常
2.5.4 调试死锁
2.5.5 存储过程调试
2.6 跟踪考虑及设计
2.6.1 SQL Server性能分析器问题
2.6.2 降低跟踪开销
2.6.3 最大文件容量、滚动和数据收集
2.7 审核SQL Server的内置跟踪
2.7.1 默认跟踪
2.7.2 黑盒跟踪
2.7.3 C2和常见标准审核
2.8 小结
第3章 查询执行
3.1 查询处理及执行概述
3.1.1 迭代器
3.1.2 迭代器属性
3.2 阅读查询计划
3.3.1 查询计划选项
3.3 分析计划
3.3.1 扫描及查找
3.3.2 可查找的谓词及其覆盖的列
3.3.3 Bookmark Lookup
3.3.4 连接
3.3.5 聚合
3.3.6 联合
3.3.7 高级索引运算
3.3.8 子查询
3.3.9 并行化
3.3.10 插入、更新和删除
3.4 小结
第4章 关于查询性能的疑难解决
4.1 编译和优化
4.1.1 编译
4.1.2 优化
4.1.3 查询优化器是如何工作的
4.2 检测查询计划中的问题
4.2.1 基数估计错误
4.2.2 杂项警告
4.3 监测查询性能
4.3.1 时间统计
4.4 查询优化
4.4.1 重写查询
4.4.2 模式改进
4.4.3 统计值管理
4.4.4 创建有用的索引
4.4.5 SQL Server 2005中的优化Hint
4.5 查询处理最佳实践
4.5.1 使用面向集合的编程
4.5.2 为优化器提供约束和统计信息
4.5.3 避免不必要的复杂性
4.5.4 谨慎使用动态SQL
4.6 小结
第5章 计划缓存和重编译
5.1 计划缓存
5.1.1 计划缓存元数据
5.1.2 清理计划缓存
5.2 缓存原理
5.2.1 Adhoc查询缓存
5.2.2 自动参数化
5.2.3 预定义查询
5.2.4 被编译对象
5.2.5 重编译的原因
5.3 计划缓存内部
5.3.1 缓存存储
5.3.2 已编译的计划
5.3.3 执行计划
5.3.4 计划缓存元数据
5.3.5 句柄
5.3.6 sys.dm_exec_sql_text
5.3.7 sys.dm_exec_cached_plans
5.3.8 sys.dm_exec_cached_plan_dependent_objects
5.3.9 sys.dm_exec_reques
5.3.10 sys.dm_exec_query_stats
5.3.11 缓存大小管理
5.3.12 本地内存压力
5.3.13 缓存个数开销
5.4 计划缓存中的对象:大图片
5.5 缓存中的多计划
5.6 何时使用存储过程和其他缓存机制
5.7 解决计划缓存问题
5.7.1 说明计划缓存问题的等待统计信息
5.7.2 其他缓存问题
5.7.3 解决缓存和重编译问题小结
5.7.4 计划向导和优化提示
5.8 小结
第6章 并发问题
6.1 解决并发问题的新工具
6.1.1 新阻塞检测工具:sys_dm_os_waiting_tasks
6.1.2 新阻塞决议工具:基于行版本控制的隔离级别
6.1.3 并发问题的类型
6.2 解决锁的问题
6.2.1 解决锁内存问题
6.2.2 锁超时
6.2.3 锁升级
6.3 解决阻塞问题
6.3.1 检测阻塞问题
6.3.2 寻找阻塞的原因
6.3.3 解决阻塞问题
6.4 解决死锁问题
6.4.1 死锁的类型
6.4.2 检测死锁
6.4.3 判断死锁原因
6.4.4 解决死锁
6.5 解决“基于行版本和快照隔离级别”的问题
6.5.1 基于快照在隔离级别中的共享锁问题
6.5.2 潜在SNAPSHOT隔离级别冲突
6.5.3 监视快照隔离选项
6.5.4 解决快照隔离问题
6.5.5 快照隔离的恰当使用
6.6 小结
参考资源
索引
致谢
引言
Microsoft SQL Server技术内幕丛书的历史
丛书结构
《Microsoft SQL Server 2005技术内幕:T-SQL查询》
《Microsoft SQL Server 2005技术内幕:T-SQL程序设计》
《Microsoft SQL Server 2005技术内幕:存储引擎》
《Microsoft SQL Server 2005技术内幕:查询、调整和优化》
例子和脚本
未被涵盖的主题
免责条款
如何获得支持
关联网站
微软学习站点
第1章 性能故障检修方法
1.1 影响性能的因素
1.1.1 应用程序的体系结构
1.1.2 应用程序设计
1.1.3 事务与隔离级别
1.1.4 Transact-SQL代码
1.1.5 硬件资源
1.1.6 SQL Server配置
1.2 故障排查概要
1.2.1 建立一个工作负荷的基线
1.2.2 监视工作负荷
1.2.3 检测、隔离及常见性能故障的排查
1.3 小结
第2章 跟踪和性能分析
2.1 SQL跟踪体系结构及术语
2.1.1 内部跟踪组件
2.1.2 跟踪I/O提供者
2.2 安全和权限
2.2.1 修改跟踪(ALTER TRACE)权限
2.2.2 保护敏感事务数据
2.3 入门:性能分析器
2.3.1 性能分析器的基本原理
2.3.2 保存和重演跟踪
2.4 服务器端跟踪和收集
2.4.1 编辑服务器端跟踪
2.4.2 查询服务器端跟踪元数据
2.4.3 由服务器端跟踪检索数据
2.4.4 停止和关闭跟踪
2.4.5 审查行集提供者
2.5 跟踪的故障排查及分析
2.5.1 常用的SQL跟踪事件类
2.5.2 性能调校
2.5.3 识别异常
2.5.4 调试死锁
2.5.5 存储过程调试
2.6 跟踪考虑及设计
2.6.1 SQL Server性能分析器问题
2.6.2 降低跟踪开销
2.6.3 最大文件容量、滚动和数据收集
2.7 审核SQL Server的内置跟踪
2.7.1 默认跟踪
2.7.2 黑盒跟踪
2.7.3 C2和常见标准审核
2.8 小结
第3章 查询执行
3.1 查询处理及执行概述
3.1.1 迭代器
3.1.2 迭代器属性
3.2 阅读查询计划
3.3.1 查询计划选项
3.3 分析计划
3.3.1 扫描及查找
3.3.2 可查找的谓词及其覆盖的列
3.3.3 Bookmark Lookup
3.3.4 连接
3.3.5 聚合
3.3.6 联合
3.3.7 高级索引运算
3.3.8 子查询
3.3.9 并行化
3.3.10 插入、更新和删除
3.4 小结
第4章 关于查询性能的疑难解决
4.1 编译和优化
4.1.1 编译
4.1.2 优化
4.1.3 查询优化器是如何工作的
4.2 检测查询计划中的问题
4.2.1 基数估计错误
4.2.2 杂项警告
4.3 监测查询性能
4.3.1 时间统计
4.4 查询优化
4.4.1 重写查询
4.4.2 模式改进
4.4.3 统计值管理
4.4.4 创建有用的索引
4.4.5 SQL Server 2005中的优化Hint
4.5 查询处理最佳实践
4.5.1 使用面向集合的编程
4.5.2 为优化器提供约束和统计信息
4.5.3 避免不必要的复杂性
4.5.4 谨慎使用动态SQL
4.6 小结
第5章 计划缓存和重编译
5.1 计划缓存
5.1.1 计划缓存元数据
5.1.2 清理计划缓存
5.2 缓存原理
5.2.1 Adhoc查询缓存
5.2.2 自动参数化
5.2.3 预定义查询
5.2.4 被编译对象
5.2.5 重编译的原因
5.3 计划缓存内部
5.3.1 缓存存储
5.3.2 已编译的计划
5.3.3 执行计划
5.3.4 计划缓存元数据
5.3.5 句柄
5.3.6 sys.dm_exec_sql_text
5.3.7 sys.dm_exec_cached_plans
5.3.8 sys.dm_exec_cached_plan_dependent_objects
5.3.9 sys.dm_exec_reques
5.3.10 sys.dm_exec_query_stats
5.3.11 缓存大小管理
5.3.12 本地内存压力
5.3.13 缓存个数开销
5.4 计划缓存中的对象:大图片
5.5 缓存中的多计划
5.6 何时使用存储过程和其他缓存机制
5.7 解决计划缓存问题
5.7.1 说明计划缓存问题的等待统计信息
5.7.2 其他缓存问题
5.7.3 解决缓存和重编译问题小结
5.7.4 计划向导和优化提示
5.8 小结
第6章 并发问题
6.1 解决并发问题的新工具
6.1.1 新阻塞检测工具:sys_dm_os_waiting_tasks
6.1.2 新阻塞决议工具:基于行版本控制的隔离级别
6.1.3 并发问题的类型
6.2 解决锁的问题
6.2.1 解决锁内存问题
6.2.2 锁超时
6.2.3 锁升级
6.3 解决阻塞问题
6.3.1 检测阻塞问题
6.3.2 寻找阻塞的原因
6.3.3 解决阻塞问题
6.4 解决死锁问题
6.4.1 死锁的类型
6.4.2 检测死锁
6.4.3 判断死锁原因
6.4.4 解决死锁
6.5 解决“基于行版本和快照隔离级别”的问题
6.5.1 基于快照在隔离级别中的共享锁问题
6.5.2 潜在SNAPSHOT隔离级别冲突
6.5.3 监视快照隔离选项
6.5.4 解决快照隔离问题
6.5.5 快照隔离的恰当使用
6.6 小结
参考资源
索引
猜您喜欢