索引

本文介绍了数据库中的索引概念,包括其作为辅助对象提升数据访问速度的作用,以及索引的不同类型如B树、反向键、位图等。文章还详细讲解了创建索引的语法,包括唯一性、位图索引的选择以及存储、日志记录等相关参数的设定,旨在帮助读者深入理解并实际操作数据库索引的创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是索引
1在关系数据库中,索引是一种与表有关的数据库结构,它是除了表以外的另一个重要模式对象。
2索引建立在表的一列或多列上的辅助对象,目的是提高表中数据的访问速度.
3索引是表示数据的另一种方式,它提供的数据顺序不同于数据在磁盘上的物理存储顺序。
4索引的特殊作用是在表内重新排列记录的物理位置
5建立索引需要消耗空间大小为表的1.2倍
索引的类型
B树索引,反向键索引,位图索引,基于函数的索引,簇索引,全局索引,局部索引等.

创建索引
语法:
create unique | btimap index < schema>.< index_name>
on < schema>.< table_name>
(< column_name > | < expression> asc |desc 【,……】)
tablespace< tablespace_name>
storage< storage_settings>
logging | nologging
compute statistics
nocompress | compress< nn>
nosort | reverse
partition |global partition< partition_setting>;

unique :表示创建的表中的每一行在索引中 都是具有唯一值,也就是创建唯一索引
btimap :创建一个位图索引。
如果不指定unique ,btimap 那么表示创建的索引是B树索引.
< schema>.< index_name>:索引名称
< schema>.< table_name>:指定索引基于哪个用户模式下的哪个表
column_name :指定表中的列,可以多个列,逗号分隔,可以指定列的排列方式,默认asc。
tablespace< tablespace_name>:指定存储表空间 tablespace_name
storage< storage_settings>:表示用户可以对存储在表空间的存储参数进行设置,如果不指定该字句,那么使用表空间的默认存储参数。
logging | nologging:在创建索引的时候,是否创建相应的日志记录,默认logging.
nologging好处更快完成创建索引的操作,缺点:不会产生重做日志信息。
compute statistics:oracle在创建索引的过程中,直接生成关于索引的统计信息,这样可以避免以后对索引进行分析操作.
nocompress | compress< nn>:该选项是对复合索引而言的,compress在创建索引时候,对重复的索引进行压缩,以节省存储空间。默认是nocompress ,表示不进行任何压缩,因为压缩会影响使用效率。
nosort : 创建索引时候,不进行排序,加快索引创建速度,节省排序空间。
也就是告诉oracle该表中已经存在的数据已经根据column_a排序,你不需要再去给我排序了;如果表中记录是无序的,在使用norsort会有错误信息。
reverse:反转
partition|global partition< partition_setting>;多个服务并行来创建索引。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值