课程大纲
主题 | 授课内容 |
SQL Server体系结构 | 内容一:典型数据库的运行原理 1. 数据库思维与程序开发思维的差异 2. SQL Server 整体架构 3. 内存分配与管理 4. 日志管理 5. 事务管理 6. 分区管理 7. 压缩管理 8. SQL查询执行原理 9. 相关配置参数
内容二:IO管理 1. I/O基础 2. 什么是I/O子系统 3. 理解SQL Server I/O模式 4. 存储类型
内容三:索引的原理与维护 1. 索引的定义 2. 索引的结构、填充因子 3. 聚集索引和非聚集索引 4. 唯一索引和包含列索引 5. 过滤索引 6. 索引视图 7. 索引碎片整理以及索引重建 8. 删除从未使用过的索引 9. 创建更合适的索引
|
数据库设计 | 内容四:数据库设计方法与原则 1. 需求分析 2. 模块化设计 3. 什么是三范式 4. 对象命名规范 5. 设计出数据库、表、视图和其他数据库对象 6. 数据的一致性原则 7. 使用数据库设计工具 8. 设计之前考虑性能问题
内容五:如何设计优秀的数据库 1. 数据类型的选择 2. 数据库逻辑设计和物理设计的规范化 3. 合理的冗余 4. 主键的设计 5. 外键的设计 6. 字段的设计 7. 数据库物理存储和环境的设计 8. 系统设计 9. 索引的设计 |
SQL Server性能调优 | 内容六:读懂执行计划 1. 执行计划的捕捉 2. 读懂执行计划 3. 逻辑执行计划与物理执行计划 4. 执行计划的分类 5. 扫描和查找类操作 6. 连接类操作 7. Spools类操作
内容七:SQL语句的改进 1. 只返回需要的数据 2. 尽量少做重复的工作 3. 注意事务和锁 4. 注意临时表和表变量的用法 5. 子查询的用法 6. 慎用游标 7. 尽量使用索引 8. 注意连接条件的写法 9. 其他需要注意的地方
内容八:系统调优 1. TempDB的角色以及调优 2. 定期转移不需要的历史数据 3. 解决死锁和阻塞 4. 多表JOIN考虑临时表
内容九:事务和锁的基本概念 1. 隔离等级的概念 2. 高峰的并发访问 3. 大数据量的联合查询和统计 4. 长事务处理 5. 大数据容量的数据操作(查询,更新,修改,删除)性能
内容十:性能调优方法论 1. 性能的关键概念 2. 影响SQL Server性能的因素 3. 是否存在资源瓶颈 4. 分析数据库正在发生的事情 5. 分析数据库已经发生的事情 6. 调优成本高昂的查询语句 7. SQL Server性能调优工具与服务端跟踪
内容十一:常见性能模式 1. 整体问题模式 2. IO问题模式 3. 并发问题模式 4. 内存问题相关模式 5. TempDB问题模式 6. CPU问题模式 7. 应用程序设计相关模式 8. 执行计划质量相关模式 |