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

oracle索引

时间:2015-11-08 22:16:46      阅读:265      评论:0      收藏:0      [点我收藏+]

标签:

作用

当表数据量很大的时候,进行查询操作时I/O开销会很大,此时可以考虑建立索引减小系统开销.

建立索引注意点

1.索引应该建立在where语句使用频率高的列上

2.索引建立在经常进行排序的列上,可加快排序速度

3.索引使用的列个数不是越多越好,列的个数会影响insertdelete操作速度

4.在建立索引时,oracle会将相应的列数据添加到索引块,此时要设置PCTFREE参数(如果表上insert操作会很频繁的话,则参数值要大一些)

5.表和索引在同一表空间可以简化表空间管理,在不同表空间可以提高访问性能

6.在数据量大的表上建立索引时,使用nologging选项可以节省重做日志空间,降低索引建立时间,提高索引并行建立性能.

7.数据量小的表不用建立索引

8.将索引建立在连接列上可以提高多表联合查询的性能

创建索引

建立B树索引(常用的,默认的索引建立方式)

Create index 索引名 

On 表名(列名)

Pctfree 大小 --指定预留空间大小(insert操作预留的空间)

Tablespace 表空间名;

他的索引查询实现机制可以参照B-

建立位图索引(当列基数小于1%时使用)

Create bitmap index 索引名 

On 表名

Tablespace 表空间名;

列基数:列可取值个数/数据行数

建立反向键索引

Create index 索引名

On 表名(列名) reverse

Tablespace 表空间名

存储结构依然使用的是B-,不过将键值顺序颠倒存储(如简直是1234则存储时以4321为键值)

建立基于函数的索引

Create index 索引名

On 表名(函数名(列名));

oracle索引

标签:

原文地址:http://www.cnblogs.com/JavaTWW/p/4948118.html

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