搜索Oracle分区

时间:2014-06-06 13:46:44

标签: oracle oracle11g partitioning

在分区的Oracle表上运行SQL时,是否有很大的性能损失,而SQL没有引用用于分区的列?

1 个答案:

答案 0 :(得分:1)

这取决于。如果WHERE子句不基于任何索引列,则查询将非常慢,因为Oracle必须执行全表扫描。

如果WHERE子句中的列具有全局定义的索引,则无论是仅访问一个分区还是全部分区都无关紧要。

但是,当您的表具有WHERE子句使用的许多分区和本地定义的索引时,会出现降级。假设您的表有50个分区,并且本地定义了索引,那么未指定分区的查询(通过WHERE条件或通过分区名称显式)必须同样扫描50个单独的索引。