在使用RBO的情况下,出现两条或两条以上的执行路径的等级值相同的情况下,如何调整执行计划?
来源:互联网 发布:淘宝二维码用微信打开 编辑:程序博客网 时间:2024/06/05 01:55
如果在目标SQL中使用了hint,就意味着自动启用了CBO(仅有两个例外),那如何在使用RBO的情况下对执行计划做调整呢?
1、等价改写目标SQL
比如在SQL的where条件中对number或date类型的列加上0,在varchar2或char上加上空字符串,例如||'',这样就可以让原本可以走的索引走不了。
2、通过调整索引在数据字典缓存中的缓存顺序来改变执行计划
会优先使用后创建(创建时间)的索引。
3、通过改变目标SQL中说涉及的各个对象在该SQL文本中出现的顺序(适用于SQL中出现了多表连接的情形)
RBO会安装从右往左的顺序来决定谁是驱动表,谁是被驱动表,进而会据此来选择执行计划(右边的为驱动表,左边的为被驱动表)。
阅读全文
1 0
- 在使用RBO的情况下,出现两条或两条以上的执行路径的等级值相同的情况下,如何调整执行计划?
- 出现要输出两条数据的情况
- 两条线段相交的各种情况
- 大数据量情况下比较两张工作表中相同或不同的邮件号
- Linux下后台执行的程序出现stopped的情况
- 如何在使用了BOOST_REGEX_MATCH_EXTRA情况下提高boost::regex_search的执行速度
- POJ 2826 几何/两条线段的各种情况。。
- Legacy USB在两种情况下的实现
- Legacy USB在两种情况下的实现
- 如何使easyui在没有数据的情况下显示滚动条
- C# Page_load()事件 执行两遍 出现的几种情况以及解决办法
- oracle 某一字段相同另一字段不同的情况下取第一条记录
- 如何在存储执行中,查询某条sql语句的执行计划。
- 当用new创建对象时(无继承和有继承两种情况下)虚拟机的执行过程
- VB+SQL数据库管理系统中,如何在无数据源的情况下执行SQL
- VB+SQL管理系统中,如何在无数据源的情况下执行SQL
- 如何在不提升用户权限的情况下,使普通用户执行sp_OACreate存储过程
- 如何在不提升用户权限的情况下,使普通用户执行xp_cmdshell存储过程
- 2017.10.14一试
- 文本挖掘
- 1073. Scientific Notation (20)
- QNX程序的键盘输入与控制台输出
- python 求 牛顿插值法中的差商表
- 在使用RBO的情况下,出现两条或两条以上的执行路径的等级值相同的情况下,如何调整执行计划?
- 数组扩容
- Android 进程保活--无限播放音乐
- 记录自己的大数据学习之路
- 冒泡排序
- Matlab GUI登录界面(edit,pushbutton),键盘按下事件
- smarty模板引擎的基本语法
- avro
- czl蒟蒻的XJOI类型训练2