首 页IT知识库翔宇问吧收藏内容
当前位置:翔宇亭IT乐园IT知识库数据库Oracle

在Oracle中的索引及创建方法

减小字体 增大字体 作者:佚名  来源:转载  发布时间:2012-07-17 16:01:44

为了高效的获取数据,在数据量比较大的时候,我们需要给表中的某一列建立索引。

建立索引的作用主要有以下几个:

(1)快速存取数据;

(2)改善数据库性能,保证列值的唯一性;

(3)在使用order 排序

按照存储方法可以将索引分为B*树索引和位图索引。

(1)B*树索引:顾名思义其存储类型就是一棵树,有分支和叶,分支相当于书的大目录,叶则相当于具体的书页。Oracle用B*树机制存储索引条目,可以保证用最短路径访问键值。默认情况下大多使用B*树索引。

(2)位图索引:位图索引存储主要用于节省空间,减少Oracle对数据块的访问,它采用位图偏移方式来与表的行id号对应,采用位图索引一般是重复值太多的表字段。位图索引在实际密集型OLTP(数据事务处理)中用得比较少,因为OLTP会对表进行大量的删除、修改、添加操作,Oracle每次进行这些操作的时候都会对要操作的数据块加锁,以防止多人操作容易产生的数据块锁等待甚至死锁现象。而在OLAP(数据分析处理)中应用位图有优势,因为OLAP中大部分是对数据库的查询操作,而且一般采用数据仓库技术,所以大量数据采用位图索引节省空间比较明显。

下面说一下在Oracle中建立索引的语法格式:

create [unique | bitmap] index [schema.]indexName
on [schema.]tableName(columnName[ASC | DESC],...n)
[tablespace tablespaceName] [nosort] [reverse]

其中,unique指定索引所基于的列值必须唯一。默认的索引是非唯一索引。Oracle建议不要在表上显示的定义unique索引。BITMAP指定建立位图索引。

删除索引的方法如下:

drop index indexName;

微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。

个人成长离不开各位的关注,你的关注就是我继续前行的动力。

知识评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
愿您的精彩评论引起共鸣,带来思考和价值。
用户名: 查看更多评论
分 值:100分 90分 80分 70分 60分 40分 20分
内 容:
验证码:
关于本站 | 网站帮助 | 广告合作 | 网站声明 | 友情连接 | 网站地图
本站部分内容来自互联网,如有侵权,请来信告之,谢谢!
Copyright © 2007-2022 biye5u.com. All Rights Reserved.