【问题标题】:Does oracle ignore order by clause while creating unique indexoracle 在创建唯一索引时是否忽略 order by 子句
【发布时间】:2013-02-22 09:05:45
【问题描述】:

oracle 在创建唯一索引时是否忽略 order by 子句意味着使用 ASC 创建的索引与使用 DESC 创建的索引相同。 Oracle 根本不使用该设置。 Oracle 索引与排序顺序无关。

【问题讨论】:

  • 你的问题到底是什么?
  • 有人应该解释一下create index ix on table(col asc)create index ix on table(col desc) 之间的区别。
  • 完全相同是什么意思?它们在内部的排列方式不同。 concepts guide 是否澄清了事情?还是create index documentation中的注释?如果没有,那么您需要扩展您的问题以显示您遇到的问题。

标签: oracle


【解决方案1】:

单列上的 ASC 或 DESC 索引之间没有实际区别 - 这就是为什么在创建索引时通常根本不使用此选项的原因。

但是,当索引超过两列或更多列时存在很大差异 - (col1 ASC, col2 ASC) 将导致索引排序与 (col1 ASC, col2 DESC) 完全不同。运行对这两列进行排序的查询时可能会遇到差异 - 在col1, col2 上排序的查询可能会在第一个索引存在时避免排序操作,但可能不会在第二个索引上进行。

【讨论】:

    猜你喜欢
    • 2011-09-15
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 2018-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-06
    相关资源
    最近更新 更多