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

oracle数据库索引种类,分别什么情况下使用

发布时间:2020-12-12 14:02:11 所属栏目:百科 来源:网络整理
导读:oracle数据库索引种类,分别什么情况下使用 关于索引有些地方我不太明白1.oracle常用的都有哪几种索引,比如唯一索引之类的,sql语句都是怎么写?2.都在什么情况下适合用?3.最正常的语句create index name on.......建出来的是那种索引啊?4.表中主键和外键是

oracle数据库索引种类,分别什么情况下使用

关于索引有些地方我不太明白1.oracle常用的都有哪几种索引,比如唯一索引之类的,sql语句都是怎么写?2.都在什么情况下适合用?3.最正常的语句create index name on.......建出来的是那种索引啊?4.表中主键和外键是不是自动给分配索引,自己就不用建了呢?谢谢 偶从这路过 | 浏览 7114 次 |举报 我有更好的答案 推荐于2017-10-01 07:46:12 最佳答案
1. b-tree索引
Oracle数据库中最常见的索引类型是b-tree索引,也就是B-树索引,以其同名的计算科学结构命名。CREATE
INDEX语句时,默认就是在创建b-tree索引。没有特别规定可用于任何情况。
2. 位图索引(bitmap index)
位图索引特定于该列只有几个枚举值的情况,比如性别字段,标示字段比如只有0和1的情况。
3. 基于函数的索引
比如经常对某个字段做查询的时候是带函数操作的,那么此时建一个函数索引就有价值了。
4. 分区索引和全局索引
这2个是用于分区表的时候。前者是分区内索引,后者是全表索引
5. 反向索引(REVERSE)
这个索引不常见,但是特定情况特别有效,比如一个varchar(5)位字段(员工编号)含值
(10001,10002,10033,10005,10016..)
这种情况默认索引分布过于密集,不能利用好服务器的并行
但是反向之后10001,20001,33001,50001,61001就有了一个很好的分布,能高效的利用好并行运算。
6.HASH索引
HASH索引可能是访问数据库中数据的最快方法,但它也有自身的缺点。集群键上不同值的数目必须在创建HASH集群之前就要知道。需要在创建HASH集群的时候指定这个值。使用HASH索引必须要使用HASH集群。
本回答由 电脑网络分类达人 系统推荐 举报| 答案纠错 | 评论 15 3

tj_angela

采纳率:47%来自团队:Oracle爱好者擅长:历史话题

其他回答

问题太多了吧?

逻辑上:
Single column 单列索引
Concatenated 多列索引
Unique唯一索引
NonUnique 非唯一索引
Function-based函数索引
Domain 域索引

物理上:
Partitioned 分区索引
NonPartitioned 非分区索引
B-tree:
Normal 正常型B树
Rever Key 反转型B树
Bitmap位图索引

create index name on:就是普通的 非唯一索引或 函数索引

主键会给分配索引,外键不会自动分配索引,需要自己创建
本回答被提问者和网友采纳 micro0369 | 推荐于2018-02-10 22:02:28 | 评论 8

(编辑:李大同)

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

    推荐文章
      热点阅读