千家信息网

Oracle中怎么设置optimizer_mode 参数

发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家介绍Oracle中怎么设置optimizer_mode 参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Oracle 在执行SQL语句时,有两种优化方法:即基于规
千家信息网最后更新 2026年11月03日Oracle中怎么设置optimizer_mode 参数

这篇文章给大家介绍Oracle中怎么设置optimizer_mode 参数,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

Oracle 在执行SQL语句时,有两种优化方法:即基于规则的RBO和基于代价的CBO。 在SQL执教的时候,到底采用何种优化方法,就由Oracle参数 optimizer_mode 来决定。
查询命令
SQL> show parameter optimizer_mode

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string ALL_ROWS

optimizer_mode 参数值共有以下四个:

第一:CHOOSE
这个是Oracle的默认值。采用这个值时,Oracle即可以采用基于规则RBO,也可以采用基于代价的CBO,到底使用那个值,取决于当前SQL的被访问的表中是不是有可以使用的统计信息。
如果有多个被访问的表,其中有一个或多个有统计信息,那么Oralce会对没有统计信息的表进行采样统计(即不全部采样),统计完成后,使用基于代价的优化方法CBO。
如果所有被访问的表都没有统计信息,Oracle就会采用基于规则的优化方法RBO。

第二:ALL_ROWS
不管是不是有统计信息,全部采用基于成本的优化方法CBO。

第三:FIRST_ROWS_n
FIRST_ROWS_n后面的n值可以为1,100,1000,不管是不是有统计信息,全部采用基于成本的优化方法CBO,并以最快的速度,返回前N行记录。

第四:FIRST_ROWS
使用成本和试探法相结合的方法,查找一种可以最快返回前面少数行的方法;这个参数主要用于向后兼容。

第五:RULE
这个参数正好和ALL_ROWS相反,不管是不是统计信息,全部采用基于规则的优化方法。

更改optimizer_mode 的参数方法:
alter session set optimizer_mode='RULE';

关于Oracle中怎么设置optimizer_mode 参数就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

方法 统计 参数 信息 规则 代价 成本 最快 内容 多个 更多 帮助 不错 兴趣 取决于 命令 小伙 小伙伴 文章 时候 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 上海互联网科技有限公司 互联网科技金融公司 中国互联网科技发展 滨湖区互联网智能科技产品供应 互联网巨头投资的硬核科技 互联网公司会议桌创意科技软装饰 互联网科技公司招聘 欧洲十大科技互联网公司 阿里互联网科技公司 互联网科技与大数据专业 互联网科技人工智能实验室 东莞新华互联网科技学校 怎样加入科技互联网 广州富喜互联网络科技 广州互联网高科技取餐柜 九思连强互联网电子科技有限公司 兰石爱特工业互联网科技分公司 北京品多多互联网科技有限公司 10位科技互联网大佬 互联网大会出现的黑科技 互联网金融与金融科技 礼当家互联网科技 互联网和黑科技的看法 天津腾达互联网科技有限公司 互联网新科技动漫ppt素材 深圳无忧互联网科技 中天科技中国工业互联网 21世纪互联网科技成就 九思连强互联网电子科技有限公司 互联网对科技影响
0