oracle优化程序模式

优化程序模式 • 基于规则的: – 使用 --- 套等级系统 – 语法驱动和数据字典驱动 • 基于成本的: – 选择成本最低的路径 – 统计数据驱动 基于规则的优化 在基于规则的优化中通过检查查询服务器进程选择它访问数据的路径该 优化程序有一整套对访问路径进行排序的规则有经验的 Oracle 开发人员往往 十分了解这些规则并可据此优化他们的 SQL 基于规则的优化程序是通过语法实现的因为它联合使用语句语法与有关数据 结构的数据字典信息以确定将使用哪一个执行计划支持该优化程序模式是 为了与 Oracle 服务器的早期版本向后兼容 基于成本的优化 在基于成本的模式中优化程序检查每个语句并识别所有可能的访问数据路 径然后它计算每个访问路径的资源成本并且选择花费最低的一个成本核 算的主要依据是逻辑读取数 设置优化程序模式 • 例程级别: optimizer_mode = {choose|rule|first_rows|all_rows} • 会话级别: alter session set optimizer_mode = {choose|rule|first_rows|all_rows} • 语句级别: 使用提示 会话级别上的 OPTIMIZER_MODE 选项 开发人员可以使用 ALTER SESSION 命令设置该选项 SQL> ALTER SESSION SET OPTIMIZER_MODE = value 注由于向后兼容性原因仍支持 ALTER SESSION 命令的 OPTIMIZER_GOAL 选项以之作为 OPTIMIZER_MODE 选项的替代 优化程序提示 也可以在 SQL 语句中使用提示来影响优化程序 可以在语句中编写提示代码如下所示 SQL> SELECT /*+ FIRST_ROWS */ 2 * 3 FROM scott.emp; 能够影响优化程序模式的优化程序提示为 RULE FIRST_ROWS 和 ALL_ROWS 注所有可用提示的列表请参阅 Oracle8i Server Tuning, Release 8.1 手册
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值