联系我们

课程大纲

应用调优方法论

数据库和实例架构

  • 服务器进程
  • 内存结构(SGA, PGA)
  • 解析和共享游标
  • 数据文件、日志文件、参数文件

命令执行计划分析

  • 假设计划(EXPLAIN PLAN, SQLPlus AutoTrac XPlane)
  • 实际执行计划(V $ SQL_PLAN, XPlane, AWR)

性能监控和瓶颈发现

  • 通过系统字典视图监控实例当前状态
  • 历史字典监控
  • 应用跟踪(SQLTrace, TkProf, TreSess)

优化过程

  • 成本优化和调节属性
  • 优化决策

通过以下方式控制基于成本的优化器:

  • 会话和实例参数
  • 提示(hints)
  • 查询计划模式

统计信息和直方图

  • 统计信息和直方图对性能的影响
  • 收集统计信息和直方图的方法
  • 统计信息的计算和估算策略
  • 管理统计信息:阻塞、复制、编辑、自动化收集、变更监控
  • 动态数据采样(临时表、复杂谓词)
  • 基于表达式的多列统计信息
  • 系统统计信息

数据库的逻辑和物理结构

  • 表空间
  • 扩展(EXTENTS)

数据存储方法

  • 表的物理方面
  • 临时表
  • 索引表
  • 外部表
  • 分区表(范围、哈希、列表、混合)
  • 表的物理重组

物化视图和QUERY REWRITE机制

数据索引方法

  • 构建B-TREE索引
  • 索引属性
  • 索引类型:唯一、多列、函数、反向
  • 压缩索引
  • 重建和合并索引
  • 虚拟索引
  • 私有和公共索引
  • 位图索引和连接

案例研究 - 全表扫描

  • 表级别位置和块读取对性能的影响
  • 常规和直接路径数据加载
  • 谓词顺序

案例研究 - 通过索引访问数据

  • 索引读取方法(UNIQUE SCAN、RANGE SCAN、FULL SCAN、FAST FULL SCAN、MIN/MAX SCAN)
  • 使用函数索引
  • 索引选择性(聚簇因子)
  • 多列索引和SKIP SCAN
  • NULL和索引
  • 索引组织表(IOT)
  • 索引对DML操作的影响

案例研究 - 排序

  • 内存排序
  • 索引排序
  • 语言排序
  • 聚簇因子对排序的影响

案例研究 - 连接和子查询

  • 连接方式:MERGE、HASH、NESTED LOOP
  • OLTP和OLAP系统中的连接
  • 连接顺序
  • 外连接
  • 反连接
  • 半连接
  • 简单子查询
  • 相关子查询
  • 视图和WITH子句

基于成本的优化器其他操作

  • 缓冲排序
  • INLIST
  • VIEW
  • FILTER
  • Count Stop Key
  • Result Cache

分布式查询

  • 使用dblinks读取查询计划
  • 选择主导标记

并行处理

要求

  • 熟练使用SQL基础知识,并了解Oracle数据库环境(最好完成Oracle 11g培训 - 程序员原生SQL - 研讨会)
  • 具有Oracle实际工作经验
 28 小时

客户评论 (2)

即将举行的公开课程

课程分类