我认为在这种情况下答案是"不",但我想我会问,看看是否有一些我遗漏的东西:
我有一个Oracle表,它被分区以便于数据加载 - 数据被加载到六个单独的表中,然后分区切换到主表.区分这些加载表的唯一区别是数据源,因此每个加载表都有一个唯一的数据源列,用于对主表进行分区.我们偶尔会有一些临时查询在主表中查看此数据源,但查询此表的标准报告完全忽略此列.没有任何内容插入/更新/删除此表中的单个记录,因此不必担心更新任何索引.
在这种情况下,有没有理由使用本地索引而不是全局索引?
本地索引很有意义 - 如果出于性能原因使用分区.
如果您的查询始终包含分区键,则Oracle将仅扫描该特定分区(称为"分区修剪").
如果您有其他条件可以从索引查找中受益,那么数据库只需要检查比全局索引小得多的本地索引,因此查找速度会更快.
在您的情况下,如果您从未(或几乎从不)在查询中包含分区键,那么您认为本地索引没有帮助.