【发布时间】:2012-09-24 12:49:47
【问题描述】:
我有两个查询,其中一个涉及查询中的分区表,而另一个查询是相同的,只是它涉及非分区等效表。原始(非分区表)查询比分区对应部分执行得更好。我不确定如何为此隔离问题。查看执行计划,我发现两个查询使用的索引是相同的,并且新查询在其执行计划中显示了 PARTITION RANGE 子句,这意味着正在进行分区修剪。查询格式如下:-
Select rownum, <some columns>
from partTabA
inner join tabB on condition1
inner join tabC on condition2
where partTabA.column1=<value> and <other conditions>
and partTabA.column2 in (select columns from tabD where conditions)
partTabA 是分区表,partTabA.column1 是分区键(范围分区)。在原始查询中,它被同一个表的非分区等效项替换。我应该查看哪些参数来找出新查询执行不良的原因。我拥有的工具是 Oracle SQL Developer。
【问题讨论】:
标签: performance oracle partitioning