码迷,mamicode.com
首页 > 数据库 > 详细

Oracle索引

时间:2015-08-11 18:20:52      阅读:161      评论:0      收藏:0      [点我收藏+]

标签:

       索引,使用索引可快速访问数据库表中的特定信息。索引是对数据库表中一列或多列的值进行排序的一种结构。索引是一种与表有关的数据库结构,它可以使对应于表的SQL语句执行得更快。索引的作用相当于图书的目录,可以根据目录中的页码快速找到所需的内容。当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。

      在数据库系统中建立索引主要有以下作用

1)快速取数据;

2)保证数据记录的唯一性;

3)实现表与表之间的参照完整性;

4)在使用ORDER by、group by子句进行数据检索时,利用索引可以减少排序和分组的时间

      创建oracle有效索引准则:

1、如果需要访问的数据不超过4%或5%,则可以使用索引。访问表中的行数据的另一种方法是从头到尾的顺序读取整个表,这称为全表扫描。全表扫描适用于请求的数据占全表数据百分比较高的查询。

2、相对较小的表应避免使用索引;

3、为所有表创建主键。在指定一列作为主键时,oracle自动创建该列索引;

4、对在where字句中频繁使用的列建立主键;

5、对包括在orader by 和group by 操作的列或涉及排序的union和distinct等其他操作中的列建立索引。由于索引已经被排序,因此执行前述操作的排序要求将显著减少;

6、只对有高选择性的表建立索引。既选择对几乎没有相同值得表建立索引

7、被频繁更改的列由于涉及开销问题,理论上不索引

Oracle索引

标签:

原文地址:http://www.cnblogs.com/shuihuaboke/p/4721592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!