为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:
【操作系统】:
【CPU】:
【问题描述】*:
表结构如下,ID_ 是主键
有order by RES.ID_ asc 排序之后需要19s
执行计划如下
把order by RES.ID_ asc 注释掉,执行0.03s
执行计划如下
通过hint强制走这个ACT_IDX_HI_DETAIL_PROC_INST索引,或TOP_ORDER_OPT_FLAG(1)都不行。表有1千多万条数据,通过PROC_INST_ID_过滤之后剩下250条,统计信息等都已经收集
创建(proc_inst_id,id_)组合索引
select /+TOP_ORDER_OPT_FLAG(0)/ xxx
试一下
收集一下stat 100 on 表名(PROC_INST_ID) 列的直方图,并且关闭参数top_order_opt_flag(0)