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

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

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

适用于B树索引:

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

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

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

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

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

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

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

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

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

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

语法:

create index index_name on table_name(字段名);

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

语法:

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

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

2)重命名索引

语法:

alter index index_name rename to new_name;

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

语法:

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)合并索引

语法:

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

oracle为表增加索引,【增加Oracle中表的索引】相关推荐

  1. oracle修改表中字段名,oracle如何修改表字段名

    oracle修改表字段名的方法是: 首先bai方法是使用RENAME关键字: 修改字段名:alter table 表名 rename column 现列zhi名 to 新列名;修改表名:alter t ...

  2. oracle创建表需要注意什么,Oracle创建表和插入的相关注意事项

    一.Oracle 中的数据类型是number(),大的数据用clob 类型.二.建立主键自增ORACLE SEQUENCE的简单介绍在Oracle中sequence就是 一.Oracle 中的数据类型 ...

  3. oracle查看表空间物理路径,oracle查看表空间物理文件的名称,路径及大小

    select tablespace_name, file_id,file_name,round(bytes/(1024*1024),0) total_space from dba_data_files ...

  4. oracle误删表空间 无法关闭,oracle 误删表空间文件启动不了数据库的解决办法

    近日在搞rman备份恢复的实验,因为在虚拟机建立一个rman表空间,但是发现磁盘空间不够大,所以删除了,导致数据库启动不了了,解决办法如下: 1.误删rman表空间 SQL> ! rm -f / ...

  5. oracle多表关联查询报表,oracle多表关联查询和子查询

    oracle多表关联查询和子查询 一.多表关联查询 例子: sql> create table student1 ( sid varchar(3), sname varchar(6), sage ...

  6. shell脚本执行oracle删除表,shell脚本操作oracle删除表空间、创建表空间、删除用户...

    oracle下表空间的导出,用户的删除,表空间删除,用户新建,表空间新建,数据导入的shell 使用非oracle用户执行该脚本 参数说名 $1:base表空间的用户名 $2:同步表空间的用户名 使用 ...

  7. oracle导入表 忽略报错,oracle数据泵导入分区表统计信息报错(一)

    今天在进行数据泵导入操作时,发现一个bug. 数据库版本Oracle 10203 for Solaris RAC,执行导入在处理表的统计信息时报错,错误信息为:ORA-39083和ORA-917. 经 ...

  8. oracle给表赋清空权限,oracle建表赋权限

    oracle建表赋权限 --创建表空间 create tablespace ya logging datafile 'D:\Oracle\product\10.2.0\oradata\oracle\y ...

  9. oracle删除表数据带条件,Oracle删除表数据

    在本教程中将学习如何使用Oracle DELETE语句从表中删除一行或多行数据记录. 要从表中删除一行或多行,请按如下所示使用Oracle DELETE语句: DELETE FROM table_na ...

  10. oracle建表唯一约束语句,Oracle建表语句是什么

    Oracle建表语句是什么 oracle数据库的建表语句,具体语法如下:CREATE TABLE tablename( column_name datatype [null,not null], co ...

最新文章

  1. quick time不可用是什么意思_自动挡上每个字母都代表什么意思?可以用一句话总结...
  2. 浅析移动端网站是如何做好前期策划工作的?
  3. Notification详解
  4. LiveVideoStackCon 2018公布优秀出品人与讲师
  5. javascript初学者_针对JavaScript初学者的调试技巧和窍门
  6. 笔记本AutoCAD启动时闪退怎么办_戴尔笔记本电脑开不了机如何解决【解决方法】...
  7. opensource项目_最佳Opensource.com:艺术与设计
  8. CentOS7安装VirtualBox后系统起不来了:版本和vbox兼容很重要吧,不然VirtualBox起不来。
  9. VB得到指定文件夹下的文件列表
  10. 2021-09-02AUC
  11. 波士顿房价数据分析(R语言)
  12. python画布上显示多张图片_python实现在一个画布上画多个子图
  13. css 动画 (transition animation)
  14. miui12和鸿蒙系统,鸿蒙2.0和miui12对比_鸿蒙2.0和miui12使用对比
  15. 华硕路由器官方固件开机自动运行脚本方法
  16. OSPF 之 LSA限制
  17. logback官网地址
  18. CRF as RNN
  19. php底部漂浮广告位代码,DIV+CSS固定底部的漂浮广告
  20. 学习笔记——数据库(过滤搜索2:正则表达式)

热门文章

  1. Ubuntu16.0配置MPTCP
  2. 视频会议的发展趋势---移动视频会议
  3. android多媒体框架介绍(四)显示图形系统之hwc叠加器
  4. axios获取后台数据库中的数据
  5. Adb push 文件夹到手机目录上
  6. jmeter录制 过滤_jmeter之2种方法录制脚本
  7. 3443. 学分绩点
  8. 远程员工的设备更新和数据迁移应该如何管理?
  9. matlab 并行计算使用心得 (不断补充)
  10. 《中国人工智能学会通讯》——1.45 先做个普及,到底什么是虹膜识别