8.Oracle索引

前端之家收集整理的这篇文章主要介绍了8.Oracle索引前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
什么是索引
创建索引,可以提高数据的访问速度。

索引分类
1.B树索引
2.唯一索引和非唯一索引
3.反向键索引
4.位图索引

1.B树索引

如上图可以看出,B树索引的顺序
1.索引会将数据取一个中间点(中间点是数据库自己决定的),小于等于50的在左边,大于50的在右边,这样我们在查找数据的时候,索引会先判断你的数据是大于50或是小于50,从而在决定去左边的区段还是去右边的区段。
2.如果数据大于50则会来到左边的区段,然后继续查找,从而取出数据。
语法:CREATE INDEX 索引名 ON 表名(列) ;

2.唯一索引和非唯一索引
唯一索引:定义索引的列种,任何两行都没有重复值。在创建主键和唯一键的时候都会创建唯一索引
非唯一索引:单个关键字可以有多个与其相关联的行。
语法:CREATE UNIQUE INDEX 索引名 ON 表名(列) ;

3.反向键索引
反向键索引适用于在连续增长的列上。因为这种连续的数值,在创建索引的时候,可能会将数据都放在左边,或者右边,这样就是一头重一头轻了,为了避免这种情况,可以使用反向键索引。
反向键索引就是将数据反向,例如在数据库中有7789,反向后为9877。数据会不会出现冲突,数据库会自己处理。
语法:CREATE INDEX 索引名 ON 表名(列) REVERSE;

4.位图索引
位图索引有点在于,它最适用于低基数列(该列的值是有限的,不会无穷大),例如工种列。

表中有14条数据,所以显示14,如果有15条则会显示15。
以第一行ANALYST举例说明,在8、10、13行的地方显示1,说明这几行的工种是ANALYST。其他行显示0,说明其他行的工种不为ANALYST。
语法:CREATE BITMAP INDEX 索引名 ON 表名(列)



删除索引
DROP INDEX 索引名
原文链接:https://www.f2er.com/oracle/213758.html

猜你在找的Oracle相关文章