【问题标题】:Which Oracle index is best to choose最好选择哪个Oracle索引
【发布时间】:2012-02-15 15:31:49
【问题描述】:

我有一张有 500 万条记录的表。该表的主键是按顺序创建的。我的问题是创建哪个索引以获得最佳性能?

  1. B-Tree 索引(默认)

  2. (范围)分区索引

  3. 还是其他?

考虑到我大部分时间都会使用 SELECT 操作

【问题讨论】:

  • 取决于您运行的查询。试一试,看看解释计划,然后选择最好的。
  • 它取决于最频繁和最重要的操作(查询、更新、插入等)。如果没有有关预期用途的更多信息,就无法回答这个问题。
  • 对,这就是我下一步要做的。但总得有一些理论上的解释吧?
  • 我已更新我的问题以使用“选择”操作
  • 谁能告诉我为什么这个问题被降级了?有什么问题?

标签: performance indexing oracle11g


【解决方案1】:

B-Tree 是默认值。我们有 10 亿行带有 B 树索引的表。 OLTP 系统几乎总是使用 B-tree 来处理所有事情。您考虑备用索引类型的唯一时间是出于特殊考虑。例如,一个高度冗余的数据集(低基数):像只包含 Y 或 N 个字符的列上的索引,可能会受益于位图索引。至少在资源方面。

位图通常是数据仓库应用程序的首选。其他方法是分区表,其中单个物理数据文件具有所有单个公共列。这样就不必读取表空间中的所有文件来运行报告。例如:应收帐款的月末数据。

【讨论】:

    猜你喜欢
    • 2020-01-22
    • 1970-01-01
    • 1970-01-01
    • 2012-01-02
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多