代码之家  ›  专栏  ›  技术社区  ›  Steven

Oracle日期索引

  •  0
  • Steven  · 技术社区  · 15 年前

    显然,如果一个列有几个不同的值,索引就可以很好地工作。

    在几乎每个条目都唯一的列上创建索引是否有效(例如在(日期)创建的列)?

    2 回复  |  直到 15 年前
        1
  •  3
  •   Community    7 年前

    基本上,如果需要查询相关列,还应该索引“几乎唯一”的列。如果没有索引,则需要进行完整的表扫描(检查所有行)。之前有人问过这个问题,因此要获得更详细的解释,请参阅: should nearly unique fields have indexes

        2
  •  4
  •   dpbradley    15 年前

    是的,但请记住日期是以内部格式存储的,因此请注意WHERE子句中的相等或联接条件。例如,如果要查找7月7日的所有结果,则通常需要在条件中包含“Where created_on>=to撊date('07/07/2009',/mm/dd/yyyy')和created撊on<to撊date('07/08/2009',/mm/dd/yyyy')”。避免在WHERE子句中对日期列应用函数-这将阻止使用索引,除非创建基于函数的索引。