加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

什么类型的索引最适合Oracle上的DATE类型?

发布时间:2020-12-12 12:42:41 所属栏目:百科 来源:网络整理
导读:根据您使用Oracle的经验,您将在DATE类型列上设置的索引的最佳类型和设置是什么? 我不一定需要去分区索引. 这是一种日志记录类表. 你并不真正关心作为主键的唯一id(事实上,日期在大多数情况下都足够接近unique,但由于它的性质,永远不会). 创建集群索引是否公
根据您使用Oracle的经验,您将在DATE类型列上设置的索引的最佳类型和设置是什么?

>我不一定需要去分区索引.
>这是一种日志记录类表.
>你并不真正关心作为主键的唯一id(事实上,日期在大多数情况下都足够接近unique,但由于它的性质,永远不会).

创建集群索引是否公平?

我感兴趣的是优化SELECT * FROM Log WHERE [Date]>等查询的执行. ’20 -06-2009’ORDER BY [Date] DESC,不会大幅减慢插入速度.
(顺便说一句,在现实世界中我会使用正确的TO_DATE语法来避免截断并丢失索引)

干杯,

解决方法

常规的b树索引是合适的,但如果这是一个日期值越来越大的日志表,那么请注意索引块争用.如果您有很多会话将新值插入索引,并且这些值属于同一个块,那么您可能遇到性能问题.对此的一个缓解是反向键索引,但这会使您提供的类型的查询更加昂贵,因为反向键索引不能支持范围扫描.您将获得完整索引扫描或快速完整索引扫描.

它还会使索引更大,因为索引块拆分将是50/50,而不是Oracle在索引值中检测到向右增长模式时使用的90/10.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读