8.Oracle索引
2016-07-03 13:35
302 查看
什么是索引
创建索引,可以提高数据的访问速度。
索引分类
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 索引名
创建索引,可以提高数据的访问速度。
索引分类
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 索引名
相关文章推荐
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- Oracle Containers for J2EE远程安全漏洞(CVE-2014-0413)
- Oracle 10g R2不能使用EM的问题
- 表空间操作
- PreparedStatement中in子句的处理
- VMware下RedHat4.8_64位安装Oracle 10g RAC--简略脚本
- oracle sql日期比较
- 基于 Red Hat 的发行版 Oracle Linux 正式发布Oracle Linux 7.1
- OS block size和Oracle block size,查找OS Blocksize的方法
- oracle中创建数据库和表空间的几点总结
- 数据库自动备份脚本
- oracle的nvl函数的使用介绍
- 解决oracle用户连接失败的解决方法
- oracle的一些tips技巧
- Oracle 下的开发日积月累
- Oracle存储过程之数据库中获取数据实例
- Windows下ORACLE 10g完全卸载的方法分析
- Oracle 函数大全[字符串函数,数学函数,日期函数]第1/4页
- ORACLE LATERAL-SQL-INJECTION 个人见解