您的位置:首页 > 数据库 > Oracle

Oracle 索引(学习笔记)

2014-11-27 09:36 232 查看
索引是用于加速数据存取的数据对象,合理使用索引可以大大降低I/O次数,从而提高数据访问性能。

为什么添加了索引后,会加快查询速度呢?

单列索引:
单列索引是基于单个列所建立的索引,例如:

创建单列索引:
sql> create index index_name on table_name(field_name);
复合索引:

是指基于两列或者多列建立的索引,在用一张表上可以有多个索引,但要求列的组合必须不同。例如:

sql> create index index_name on table_name(field_name1,field_name2);
sql> create index index_name on table_name(field_name2,field_name1);
根据数据的存储方式可以分为B*树索引、位图索引、反向索引。
索引使用原则:

1.在大表上建立索引才有意义。

2.在where子句或是连接条件上经常使用的列建立索引。

3.索引的层次不要超过4层。

索引的缺点分析:

1.建立索引,系统大概需要使用表的1.2倍的硬盘和内存空间存储索引。

2.更新数据时,系统需要额外的时间来更新索引,以保持索引和表的一致性。

实践表明,不适当的索引会降低系统性能。

本文出自 “飞鱼技术” 博客,请务必保留此出处http://flyingfish.blog.51cto.com/9580339/1583061
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: