Oracle——03索引

简介:   在查中文字典的时候,我们之所以能够很快的查到所要查找的字是因为字典建立了索引。同样,为了高效的获取数据,在数据量比较大的时候,我们需要给表中的某一列建立索引。 建立索引的作用是明显的,主要有: 1、快速存取数据 2、改善数据库性能,保证列值的唯一性 3、在使用order  按照存储方法可以将索引分为B*树索引和位图索引。

 

在查中文字典的时候,我们之所以能够很快的查到所要查找的字是因为字典建立了索引。同样,为了高效的获取数据,在数据量比较大的时候,我们需要给表中的某一列建立索引。

建立索引的作用是明显的,主要有:

1、快速存取数据

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

3、在使用order 

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

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

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

 

建立索引:

语法格式:

 

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

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

删除索引:

 

		drop index indexName;
目录
相关文章
|
7月前
|
SQL Oracle 关系型数据库
Oracle-index索引解读
Oracle-index索引解读
198 0
|
1月前
|
SQL Oracle 关系型数据库
[Oracle]索引
本文介绍了数据库索引的基本概念、优化查询的原理及分类。索引是一种数据结构(如B树或B+树),通过排序后的`rowid`来优化查询性能。文章详细解释了索引的构建过程、B+树的特点及其优势,并介绍了五种常见的索引类型:唯一索引、组合索引、反向键索引、位图索引和基于函数的索引。每种索引都有其适用场景和限制,帮助读者更好地理解和应用索引技术。
62 1
[Oracle]索引
|
7月前
|
存储 Oracle 关系型数据库
Oracle索引知识看这一篇就足够
Oracle索引知识看这一篇就足够
|
索引
Oracle-序列、索引和同义词
Oracle-序列、索引和同义词
53 0
|
7月前
|
存储 Oracle 关系型数据库
Oracle 12c的多重索引:数据的“多维导航仪”
【4月更文挑战第19天】Oracle 12c的多重索引提升数据查询效率,如同多维导航仪。在同一表上创建针对不同列的多个索引,加速检索过程。虽然过多索引会增加存储和维护成本,但合理选择和使用索引策略,结合位图、函数索引等高级特性,能优化查询,应对复杂场景。数据管理员应善用这些工具,根据需求进行索引管理,支持企业数据分析。
|
存储 SQL Oracle
Oracle优化避免索引失效
Oracle优化避免索引失效
375 0
|
存储 Oracle 关系型数据库
9-6 Oracle 管理索引
9-6 Oracle 管理索引