oracle逗号拼接参数支持in查询,请教:降序索引不能支持in(两个参数以上)查询?有理论依据或相似案例吗?...

这篇博客探讨了一段Oracle SQL查询中出现的四个全表扫描现象,可能由于内部代码错误导致预期的执行路径未被采用。查询涉及到表M,并通过过滤条件对OBJECT_NAME进行操作。执行计划显示了每个全表扫描的成本和时间估计,同时揭示了可能的BUG,如SYS_OP_DESCEND函数的使用和动态采样。博客深入分析了这个问题,对于理解Oracle数据库性能优化和错误排查具有参考价值。
摘要由CSDN通过智能技术生成

--搞了4个全表扫描,说明oracle是想走的,但是估计内部代码BUG,导致事实没有走,还触发了BUG

SQL> show release

release 1102000100

SQL> SELECT/*+OR_EXPAND(m object_name) index(m)*/  object_name FROM m WHERE object_name IN ('A','B');

执行计划

----------------------------------------------------------

Plan hash value: 2589773310

---------------------------------------------------------------------------

| Id  | Operation          | Name | Rows  | Bytes | Cost (%CPU)| Time     |

---------------------------------------------------------------------------

|   0 | SELECT STATEMENT   |      |    26 |  1716 |  1185   (1)| 00:00:15 |

|   1 |  CONCATENATION     |      |       |       |            |          |

|*  2 |   TABLE ACCESS FULL| M    |    12 |   792 |   296   (1)| 00:00:04 |

|*  3 |   TABLE ACCESS FULL| M    |     1 |    66 |   296   (1)| 00:00:04 |

|*  4 |   TABLE ACCESS FULL| M    |    12 |   792 |   296   (1)| 00:00:04 |

|*  5 |   TABLE ACCESS FULL| M    |     1 |    66 |   296   (1)| 00:00:04 |

---------------------------------------------------------------------------

Predicate Information (identified by operation id):

---------------------------------------------------

2 - filter("OBJECT_NAME"='B')

3 - filter("OBJECT_NAME"='B' AND

LNNVL(SYS_OP_DESCEND("OBJECT_NAME")=HEXTORAW('BEFF') ))

4 - filter("OBJECT_NAME"='A' AND

SYS_OP_DESCEND("OBJECT_NAME")=HEXTORAW('BEFF') )

5 - filter("OBJECT_NAME"='A' AND

SYS_OP_DESCEND("OBJECT_NAME")=HEXTORAW('BDFF')  AND

LNNVL(SYS_OP_DESCEND("OBJECT_NAME")=HEXTORAW('BEFF') ))

Note

-----

- dynamic sampling used for this statement (level=2)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值