Oracle修改查询优化器版本
查询优化器参数optimizer_features_enable
在每个数据库版本中,Oracle都会在查询优化器中引入或启用新的特性。
如果在升级到一个新的版本后希望保留查询优化器的行为,可以通过设置这个参数或语句级别使用hint。
不同版本优化器的差异https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams168.htm#REFRN10141
SQL> select value from v$parameter_valid_values where name ='optimizer_features_enable';
VALUE
--------------------------------------------------------------------------------
8.0.0
8.0.3
8.0.4
8.0.5
8.0.6
8.0.7
8.1.0
8.1.3
8.1.4
8.1.5
8.1.6
VALUE
--------------------------------------------------------------------------------
8.1.7
9.0.0
9.0.1
9.2.0
9.2.0.8
10.1.0
10.1.0.3
10.1.0.4
10.1.0.5
10.2.0.1
10.2.0.2
VALUE
--------------------------------------------------------------------------------
10.2.0.3
10.2.0.4
10.2.0.5
11.1.0.6
11.1.0.7
11.2.0.1
11.2.0.2
11.2.0.3
11.2.0.4
12.1.0.1
12.1.0.2
VALUE
--------------------------------------------------------------------------------
12.2.0.1
12.2.0.1.1
35 rows selected.
很多人会遇到11g升级到12c后,报表及ETL性能严重下降
检查SQL执行计划,发现同一个SQL,12c生成的执行计划跟11g的执行计划差异很大。
把参数 OPTIMIZER_FEATURES_ENABLE 调回11g之后,报表及ETL的性能问题消失。因此怀疑是Oracle 12c优化器的问题导致
SQL>show parameter optimizer_features_enable
ALTER SYSTEM SET optimizer_features_enable = '11.2.0.4';
最新文章
- C#进阶系列——WebApi 路由机制剖析:你准备好了吗?
- Learning Spark 第四章——键值对处理
- 自己实现简单的string类
- 烂泥:nginx同时支持asp.net与php
- nginx环境下配置nagios-关于nagios配置文件nginx.conf
- ext4 文件系统的一些记录
- 转自 处理老版PIL 到 pillow
- FragmentTransaction.addToBackStack无效的问题
- Dijkstra算法模拟讲解
- IE8下div中2个button仅仅显示一个
- stl 生产全排列 next_permutation
- Python练习五
- Spring 手动 提交事务
- Solr搭建真实项目
- 【CF671E】Organizing a Race 单调栈+线段树
- Linux改变文件所有者
- linux 学习第十一天
- 20145229吴姗姗web安全基础实践
- python's sixteenth day for me 员工信息表
- app接口开发(php)