oracle为表增加索引,【增加Oracle中表的索引】

19-810-jpg_6-1080-0-0-1080.jpg

1)概念: Oracle中的索引是基于表或集群的数据对象. 它具有类似于表的独立段存储结构,并且需要在表空间中分配存储空间.

2)功能: 可以提高查找表中数据的速度.

1)B树索引(测试站点): 它是Oracle中使用最广泛的索引和默认索引类型. B树是指平衡树(Balanced Tree),它使用平衡算法来管理索引.

适用于B树索引:

2)位图索引: 当要索引的数据具有大量重复值时,如果在其上建立了B树索引,则大量相同索引列值将存储在叶块,而是降低查询速度. 在这种情况下,应使用位图索引.

每个索引列值存储一个位图,该位图由二进制位组成.

3)反向键索引: 它是一个B树索引,物理上颠倒了索引的列值,但列的顺序保持不变. 反向键索引通常建立在值不断增加的列上,以便数据均匀分布在整个索引中. 目的是解决叶子块争用的问题.

l对于创建反向键索引的列,Oracle将在执行查询操作时自动反向查询条件以匹配反向键索引. 如果在WHERE子句中使用范围查询条件(例如BETWEEN,等),因为索引值是反向的,因此查询不会以原始顺序执行. 查询期间必须执行全表扫描,因此反向键索引“列”不适用于范围查询.

b982b8787258a22b2843edd507ad15e7.png

4)基于函数的索引: 基于函数的索引将首先计算列的函数或表达式,然后将计算结果存储在索引中. 创建这种类型的索引时,需要注意以下几点:

5)唯一索引和非唯一索引(测试站点)

如果索引值可以相同,则索引可以分为唯一索引和非唯一索引. 类似于唯一约束.

唯一索引是指索引值不重复的索引

6)单列索引和复合索引(测试站点)

单列索引是所创建表的单列上的索引. 如果将表的多个列作为一个整体并在其上创建了索引,则该索引称为复合索引.

语法:

create index index_name on table_name(字段名);

d345a8f3f124e35fbc5a70fbaac4f678.png

1)将索引更改为反向键索引或普通索引

语法:

alter index index_name rebuild noreverse;//普通索引

alter index index_name rebuild reverse;//反向键索引

2)重命名索引

语法:

alter index index_name rename to new_name;

3)修改要压缩或未压缩的索引

语法:

2-413-jpg_6_0_______-662-0-0-662.jpg

alter index index_name rebuild nocompress;//非压缩

alter index index_name rebuild compress;//压缩

4)修改索引以写入重做日志文件或不写入重做日志文件

语法:

alter index index_name rebuild nologging;//不写入重做日志文件

alter index index_name rebuild logging;//写入重做日志文件

5)修改索引表空间

语法:

alter index index_name tablespace tablespace_name;

6)合并索引

10-810-jpg_6-1080-0-0-1080.jpg

语法:

alter index index_name coalesce;

语法:

drop index index_name;

1)您可以通过以下数据字典视图了解有关用户的信息:

dba_indexes,all_indexes和user_indexes; dba_ind_columns,all_ind_columns和user_ind_columns; dba_ind_expressions,all_ind_expressions和user_ind_expressions.

1)除了加快查询速度和提高系统性能外oracle中表的索引,索引的另一个重要作用是为主键约束和唯一约束提供支持. (测试中心)

2)创建主键约束和唯一约束时,Oracle将在此列上自动创建唯一索引.

3)不仅主键约束和唯一约束都需要使用唯一索引,而且外键约束也要使用

.

1)索引具有以下缺点:

2)在创建和使用索引时,请先查看其是否满足以下要求:

本文来自电脑杂谈,转载请注明本文网址:

http://www.pc-fly.com/a/jisuanjixue/article-195694-1.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值