繁体   English   中英

在Oracle中的分区表上使用本地索引是否有优势?

[英]Is there an advantage to using a local index on a partitioned table in Oracle?

在这种情况下,我认为答案是“否”,但是我想问一下,看是否有我缺少的东西:

我有一个Oracle表,对它进行了分区以简化数据加载-将数据加载到六个单独的表中,然后分区切换到主表中。 区分这些加载表的唯一区别是数据源,因此每个加载表都有一个唯一的数据源列,该列用于划分主表。 有时我们会有一些临时查询,它们会在主表中查看此数据源,但是查询该表的标准报告会完全忽略此列。 无需从该表中插入/更新/删除单个记录,因此无需担心更新任何索引。

在这种情况下,是否有理由使用局部索引而不是全局索引?

本地索引很有意义-如果出于性能原因使用分区。

如果您的查询始终包含分区键,那么Oracle将仅扫描该特定分区(称为“分区修剪”)。

如果您随后还有其他条件可以从索引查找中受益,则数据库只需要检查比全局索引小得多的本地索引,因此查找会更快。

在您的情况下,如果您从未(或几乎从未)在查询中包括分区键,那么对您来说,本地索引将无济于事。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM