问题描述
你好,汤姆,
我有这样的情况: 表tbl (220 Mio recs) 以下查询
col_d在索引t_idx (col_e,col_d) 中
col_d : num_distinct => 17直方图频率
col_e : num_distinct => 〜49 Mios直方图高度平衡
上面where子句的基数 (真实) 是大约47个Mios记录。
请注意,pred 1是由ETL软件生成的进行并行读取的条件 (2个线程),还有第二个mod = 1的查询。
最近,查询需要永远运行 (超过26小时!!)。
在执行计划中,我发现了 “索引跳过扫描”。
我的问题:
1/为什么跳过扫描?我一直认为,索引跳过扫描的前列必须具有低NDV。
2/我知道pred1在数据位置争用方面不好,如果我们选择rowid范围的话。或者简单地删除pred 1并并行化选择。
3/我在查询上仅使用pred 2 (索引中的col_d秒) 运行了explain plan => 我得到了可以理解的全表扫描; 为什么pred 1和pred 2的组合会给出索引跳过扫描?
谢谢你的回答,
我有这样的情况: 表tbl (220 Mio recs) 以下查询
select col_a, col_b, col_c from tbl t where Mod(Dbms_Rowid.Rowid_Row_Number(t.rowid, 2) = 0 --pred 1 and col_d =; --pred 2 复制
col_d在索引t_idx (col_e,col_d) 中
col_d : num_distinct => 17直方图频率
col_e : num_distinct => 〜49 Mios直方图高度平衡
上面where子句的基数 (真实) 是大约47个Mios记录。
请注意,pred 1是由ETL软件生成的进行并行读取的条件 (2个线程),还有第二个mod = 1的查询。
最近,查询需要永远运行 (超过26小时!!)。
在执行计划中,我发现了 “索引跳过扫描”。
我的问题:
1/为什么跳过扫描?我一直认为,索引跳过扫描的前列必须具有低NDV。
2/我知道pred1在数据位置争用方面不好,如果我们选择rowid范围的话。或者简单地删除pred 1并并行化选择。
3/我在查询上仅使用pred 2 (索引中的col_d秒) 运行了explain plan => 我得到了可以理解的全表扫描; 为什么pred 1和pred 2的组合会给出索引跳过扫描?
谢谢你的回答,
专家解答
1.什么是计划?为了在这里提供帮助,我们需要看到它!
你是说
返回4700万行?在col_d中有4900万不同的值?
2.我不太明白why你有那个谓词。它的目的是什么?
3.与1相同: 向我们展示计划!
确保你给我们看execution计划。这个must列显示:
-估计行数
-实际行数
-计划的每个步骤的缓冲区/一致获取
-最后开始
-时代
请确保您还包括访问/过滤谓词。
https://blogs.oracle.com/sql/how-to-create-an-execution-plan
你是说
col_d =复制
返回4700万行?在col_d中有4900万不同的值?
2.我不太明白why你有那个谓词。它的目的是什么?
3.与1相同: 向我们展示计划!
确保你给我们看execution计划。这个must列显示:
-估计行数
-实际行数
-计划的每个步骤的缓冲区/一致获取
-最后开始
-时代
请确保您还包括访问/过滤谓词。
https://blogs.oracle.com/sql/how-to-create-an-execution-plan
文章转载自ASKTOM,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
786次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
664次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
591次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
548次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
532次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
510次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
496次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
470次阅读
2025-04-17 09:30:30
OR+DBLINK的关联SQL优化思路
布衣
382次阅读
2025-05-05 19:28:36
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
382次阅读
2025-04-15 14:48:05