| 作者 |
| Steve Adrien Deluca |
| 丛书名 |
| 微软公司核心技术书库 |
| 出版社 |
| 机械工业出版社 |
| ISBN |
| 9787111081487 |
| 简要 |
| 简介 |
| 内容简介书籍计算机书籍 调整一个关系型数据库的性能可能是充满挑战、令人激动的,同时也可能是让人沮丧的。本书提供了实践信息,数据库管理员需要使用这些信息来配置一个SQL Server 7.0数据库,使之更好、更快,同时更可提高数据库解决方案。本书可能是唯一一本有关SQL Server 7.0性能调整的书,由来自Microsoft SQL Server性能专家组的工程师们共同完成。作者从基础知识入手,然后依据这些信息介绍性能调整的技巧,以及阐述这些技巧的使用如何影响整个系统。另外,本书还介绍如何优化底层的操作系统和硬件。 |
| 目录 |
| 目 录 译者序 前言 第一部分 基本概念 第1章 性能调整、容量规划和大小估计 概述 1 1.1 性能调整和优化 1 1.1.1 应用调整 1 1.1.2 SQL Server调整 2 1.1.3 硬件调整 2 1.2 大小估计与容量规划 2 1.3 服务器调整方法 3 1.3.1 调整步骤 3 1.3.2 调整提示和建议 5 1.4 小结 6 第2章 SQL Server 7.0体系结构 7 2.1 内存管理 7 2.1.1 物理和虚拟内存 7 2.1.2 SQL Server如何使用内存 8 2.1.3 动态与手工内存配置 9 2.1.4 使用附加的内存 11 2.2 数据存储 11 2.2.1 数据文件和日志文件 11 2.2.2 文件组 12 2.2.3 自动文件增长 14 2.2.4 页、区间和行 14 2.3 锁管理 15 2.3.1 什么是锁 15 2.3.2 锁粒度和锁模式 15 2.3.3 锁参数 16 2.4 线程管理 16 2.5 事务日志 17 2.5.1 在SQL Server 7.0中事务日志的增 强 18 2.5.2 事务日志是如何工作的 18 2.5.3 截断事务日志 19 2.5.4 检查点 20 2.6 小结 21 第3章 理解I/O子系统和RAID 22 3.1 磁盘驱动器的性能特性 22 3.1.1 磁盘驱动器描述 22 3.1.2 磁盘驱动器行为 23 3.1.3 磁盘驱动器规格 24 3.1.4 磁盘驱动器可靠性 25 3.1.5 磁盘驱动器性能 25 3.1.6 解决磁盘性能容量问题 27 3.2 RAID介绍 27 3.2.1 控制器高速缓存 27 3.2.2 内部RAID与外部RAID的比较 28 3.2.3 存储区域网络 28 3.3 常用RAID等级 29 3.3.1 数据条 29 3.3.2 RAID 0 30 3.3.3 RAID 1 30 3.3.4 RAID 5 31 3.3.5 RAID 10 33 3.4 RAID等级间的性能比较 34 3.4.1 读性能 34 3.4.2 写性能 34 3.4.3 磁盘计算 35 3.4.4 选择正确的RAID等级 36 3.5 I/O等待时间与SQL Server 36 3.6 配置I/O子系统的指导原则 37 3.7 小结 37 第4章 调整SQL Server 38 4.1 如何度量性能 38 4.2 调整服务器硬件 39 4.2.1 处理器结构 39 4.2.2 调整处理器 40 4.2.3 调整磁盘驱动器 41 4.2.4 调整内存 44 4.3 优化数据库设计 46 4.3.1 数据库设计的指导原则 46 4.3.2 文件和文件组使用示例 48 4.4 SQL Server配置参数 50 4.4.1 相似掩码 51 4.4.2 轻量缓冲池 51 4.4.3 锁 52 4.4.4 最大异步I/O 52 4.4.5 最大服务器内存数 52 4.4.6 最大工作者线程数 52 4.4.7 最小服务器内存数 53 4.4.8 设置工作区大小 53 4.4.9 恢复时间间隔 53 4.4.10 用户连接 54 4.5 小结 54 第5章 新特性与性能提高 55 5.1 动态配置 55 5.1.1 内存 55 5.1.2 过程高速缓存 56 5.1.3 锁 57 5.1.4 用户连接 57 5.1.5 打开对象 58 5.1.6 自动文件增长 58 5.1.7 自动数据库或文件收缩 58 5.2 提高的性能和其他新特性 59 5.2.1 锁 59 5.2.2 事务日志 59 5.2.3 复制 59 5.2.4 查询处理 60 5.2.5 附加或分离一个数据库 61 5.2.6 检查数据完整性 62 5.2.7 备份和还原数据库 64 5.3 小结 66 第6章 使用企业管理器和性能监视器监 控性能 68 6.1 Enterprise Manager 68 6.1.1 监控当前活动 68 6.1.2 显示锁定信息 69 6.2 性能监视器 69 6.2.1 记录性能数据 70 6.2.2 监控磁盘活动 72 6.2.3 性能监视器对象、计数器和实例 72 6.2.4 收集到的数据的全部含义是什么 77 6.3 小结 81 第7章 使用SQL Server剖析器 82 7.1 SQL Server剖析器概述 82 7.2 使用剖析器 83 7.2.1 设置追踪选项 83 7.2.2 运行追踪 85 7.2.3 预定义追踪 86 7.2.4 修改追踪属性 90 7.2.5 创建追踪过滤器 95 7.2.6 手工方法 95 7.2.7 创建追踪向导方法 96 7.2.8 分析剖析数据 99 7.3 例子场景 100 7.3.1 查找长时间运行的SQL语句 101 7.3.2 查找资源消耗 101 7.3.3 使用剖析器检测死锁 101 7.3.4 将剖析器用作系统日志 102 7.4 调试SQL语句 102 7.4.1 捕捉与重放 102 7.4.2 单步执行 103 7.5 小结 104 第二部分 大小估计和容量规划 第8章 大小估计和容量规划建模 105 8.1 对大小估计和容量规划的介绍 105 8.1.1 预先配置容量规划 105 8.1.2 事后配置容量规划 105 8.1.3 容量规划、基准程序和仿真的历 史 106 8.2 大小估计和容量规划的建模原则 107 8.2.1 排队理论和曲线拐点 107 8.2.2 原子要求建模与队列建模 109 8.2.3 服务链 109 8.3 建模数学 110 8.3.1 理解基本模型集 110 8.3.2 利用率定律 111 8.3.3 到达率与队列 111 8.3.4 端到端响应时间 112 8.3.5 开发概念模型 113 8.4 小结 113 第9章 数据库和应用服务器大小估计 114 9.1 预先配置容量规划 114 9.1.1 事务处理类型 114 9.1.2 峰值利用率与稳态处理 115 9.1.3 单层与多层系统 116 9.1.4 页面失效 116 9.2 数据库服务器的磁盘需求 117 9.2.1 RAID故障容错 117 9.2.2 数据库磁盘驱动器规则 120 9.2.3 文件结构、查询以及由此引起的输 入/输出 120 9.2.4 数据库磁盘地段的大小估计 122 9.3 应用服务器大小估计 123 9.3.1 单层模型 123 9.3.2 多层模型 123 9.4 小结 124 第10章 系统大小估计的方法 125 10.1 估计处理器大小 125 10.1.1 交流过程 126 10.1.2 计算CPU利用率 126 10.2 计算系统统计信息 129 10.2.1 输入/输出吞吐量 129 10.2.2 系统容量 129 10.2.3 队列长度与输入/输出响应时间 130 10.2.4 事务响应次数 130 10.3 估计内存大小 131 10.4 估计磁盘输入/输出子系统的大小 133 10.4.1 操作系统磁盘 133 10.4.2 日志文件磁盘 134 10.4.3 数据库磁盘 134 10.4.4 大小估计示例 135 10.5 小结 136 第11章 容量规划 138 11.1 性能调整与容量规划 138 11.2 数据采集 141 11.2.1 所有机器的计数器 142 11.2.2 数据库服务器计数器 143 11.2.3 Web服务器计数器 144 11.2.4 应用服务器计数器 144 11.2.5 服务链 144 11.3 数据分析 144 11.3.1 历史数据报告 145 11.3.2 预测分析 146 11.3.3 关联分析 149 11.3.4 服务链报告 150 11.4 小结 150 第三部分 配置与调整系统 第12章 联机事务处理系统 151 12.1 什么是OLTP系统 151 12.2 OLTP系统设计指南 152 12.2.1 OLTP与决策支持工作量 152 12.2.2 数据放置与文件组 152 12.2.3 调整OLTP事务 155 12.2.4 控制数据内容 155 12.2.5 数据库备份 156 12.2.6 索引 156 12.3 OLTP调整 156 12.3.1 内存子系统或数据高速缓存 156 12.3.2 钉住表 157 12.3.3 网络子系统 157 12.3.4 页面与行锁定 157 12.3.5 I/O子系统 158 12.4 事务监视器 158 12.5 小结 159 第13章 数据仓库与数据市场 160 13.1 定义与特征 160 13.2 设计一个数据仓库 162 13.2.1 现实表 162 13.2.2 维度表 162 13.2.3 星型模式 163 13.2.4 雪花模式 163 13.3 调整数据仓库 164 13.3.1 硬件 164 13.3.2 RAID级别 165 13.3.3 数据库布局 166 13.4 小结 166 第14章 调整复制系统 167 14.1 复制概述 167 14.1.1 复制的类型 167 14.1.2 复制调整基础 168 14.2 发行者 168 14.2.1 配置发行者 168 14.2.2 监测发行者 170 14.2.3 调整发行者 171 14.3 调整快照复制 172 14.3.1 快照复制的属性 172 14.3.2 配置快照复制 172 14.3.3 监测快照系统 176 14.3.4 调整快照系统 176 14.4 调整事务复制 177 14.4.1 事务复制的属性 177 14.4.2 配置事务复制 177 14.4.3 监测事务复制系统 181 14.4.4 调整事务复制系统 181 14.5 调整合并复制 182 14.5.1 合并复制的属性 182 14.5.2 配置合并复制 182 14.5.3 监测合并复制系统 184 14.5.4 调整合并复制系统 184 14.6 小结 185 第15章 高性能的备份与恢复 186 15.1 备份与恢复概念 186 15.1.1 备份与还原 186 15.1.2 恢复 186 15.1.3 备份的类型 187 15.2 影响备份与恢复性能的因素 187 15.2.1 备份过程 188 15.2.2 输入/输出子系统 188 15.2.3 网络 189 15.2.4 SQL Server 189 15.3 把系统的备份与恢复性能配置成最 大 190 15.3.1 分析备份的性能需求 190 15.3.2 配置网络 191 15.3.3 配置输入/输出子系统 192 15.4 备份方案 193 15.4.1 本地备份 193 15.4.2 网络备份 193 15.4.3 存储区网络 194 15.5 备份技巧与建议 194 15.5.1 SQL Server系统 194 15.5.2 网络 195 15.5.3 网络备份服务器 195 15.5.4 常用提示与原则 195 15.6 组件容量的回顾 196 15.7 小结 197 第四部分 优化SQL语句 第16章 使用SQL Server查询分析器 199 16.1 SQL Server查询分析器的特性 199 16.2 运行SQL Server查询分析器 199 16.2.1 连接处理 200 16.2.2 查询窗口 200 16.2.3 分析查询 201 16.3 执行计划 201 16.4 解释图形化执行计划 205 16.5 使用查询分析器示例 206 16.6 索引调整向导 210 16.6.1 索引调整向导的特性 210 16.6.2 索引调整向导的限制 211 16.6.3 使用索引调整向导 212 16.7 小结 212 第17章 优化SQL语句和存储过程 213 17.1 应用设计 213 17.1.1 建议 213 17.1.2 关键路径事务 214 17.2 使用存储过程 215 17.3 作为事务编写SQL语句 218 17.4 数据的有效提取 219 17.5 调整SQL查询 220 17.5.1 常规建议 222 17.5.2 使用连接的查询 222 17.6 索引调整建议 223 17.7 预备执行 224 17.8 小结 225 第18章 使用和调整索引 226 18.1 索引基础 226 18.1.1 索引键 227 18.1.2 索引类型 227 18.2 调整索引 230 18.2.1 选择索引键列 231 18.2.2 填充因子 232 18.2.3 使用SQL Server查询分析器 233 18.3 小结 238 第19章 在SQL Server中使用提示 240 19.1 隔离级别 240 19.2 SQL提示 242 19.2.1 连接提示 242 19.2.2 表提示 243 19.2.3 查询提示 245 19.2.4 批量拷贝提示 246 19.3 小结 246 第五部分 附录和词汇 附录A SQL Server配置参数 247 附录B SQL Server监控 257 词汇表 263 |