Oracle日期索引(Oracle DATE Index)

2019-09-17 21:40发布

显然,如果一个列有几个不同值的指数将工作做好。

将创建一个列在那里几乎每个条目是唯一的有效的指标(如created_on(DATE)列)?

Answer 1:

基本上,你应该指数亦是“几乎是独一无二的”,如果你需要在问题查询列列。 如果没有索引,需要全表扫描(检查所有行)。 这已被问过,所以更详细的解释,请参阅: 应该几乎是独一无二的领域有指标



Answer 2:

是的,但请记住,日期被存储在一个内部格式,所以要小心平等或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子句应用功能日期列 - 这将阻止使用索引,除非您创建一个基于函数的索引。



文章来源: Oracle DATE Index