Oracle索引简介

索引(INDEX)是为了加快数据的查找而创建的数据库对象,特别是对大表,索引可以有效地提高查找速度,也可以保证数据的惟一性。索引是对数据库表中一列或多列的值进行排序的一种结构使用索引可快速访问数据库表中的特定信息。索引不论逻辑上和物理上都与相关的表的数据无关,索引需要独立的存储空间,所以索引在创建之初就需要设置对应的表空间在创建PRIMARY KEY和UNIQUE 约束条件时,系统将自动为相应的列创建惟一(UNIQUE)索引。索引的名字同约束的名字一致。

1.索引的创建

创建索引不需要特定的系统权限。建立索引的语法如下:

CREATE [{UNIQUE|BITMAP}] INDEX索引名ON  表名(列名1[,

列名2 ,...]);

其中:

UNIQUE 代表创建惟一索引,不指明为创建非惟一索引。

BITMAP 代表创建位图索引,如果不指明该参数,则创建B*树索引。

列名是创建索引的关键字列,可以是一列或多列。

2.索引的分类:

2.1 唯一索引

1、何时创建:当某列任意两行的值都不相同

2、当建立Primary Key(主键)或者Unique constraint(唯一约束)时,唯一索引将被自动建立

3、语法:CREATE UNIQUE INDEX  index ON table (column);

2.2 组合索引

1、何时创建:当两个或多个列经常一起出现在where条件中时,则在这些列上同时创建组合索引

2、组合索引中列的顺序是任意的,也无需相邻。但是建议将最频繁访问的列放在列表的最前面

3、语法:CREATE  INDEX index ON table (column1,column2);

2.3  位图索引

1、何时创建:

列中有非常多的重复的值时候。例如某列保存了“性别”信息。

Where 条件中包含了很多OR操作符。

较少的update操作,因为要相应的更新所有的bitmap

2、结构:位图索引使用位图作为键值,对于表中的每一行数据位图包含了TRUE(1)、FALSE(0)、或NULL值。

3、优点:位图以一种压缩格式存放,因此占用的磁盘空间比标准索引要小得多

4、语法:CREATE BITMAP INDEX index ON table (column[, column]...);

2.4范围索引

SQL > CREATE [UNIQUE]INDEX INDEX_NAME ON TABLE(COLUMN)

global partition by range(column)

(

partition part_idx_01 value less than(first range value) tablespace index_space01,

partition part_idx_02 value less than(second range value) tablespace index_space02,

partition part_idx_03 value less than(maxvalue) tablespace index_space03)

2.5散列索引

SQL > CREATE [UNIQUE]INDEX INDEX_NAME ON TABLE(COLUMN,[COLUMN2])

global partition by hash(column,[column2])

(

partition part_idx_01 tablespace index_space01,

partition part_idx_02 tablespace index_space02,

partition part_idx_03 tablespace index_space03)

3.查看索引信息

DBA查看索引分区

select * from dba_ind_partitions

USER查看索引分区

select * from user_ind_partitions

DBA查看索引分区类型

select * from dba_part_indexes

USER查看索引分区类型

select * from user_part_indexes

删除索引的语法是

DROP INDEX 索引名;

-----------------------------------------------

版权所有,允许转载,但必须以链接方式注明源地址

Oracle索引简介相关推荐

  1. Oracle索引知识学习笔记

    目录 一.Oracle索引简介 1.1 索引分类 1.2 索引数据结构 1.3 索引特性 1.4 索引使用注意要点 1.5.索引的缺点 1.6.索引失效 二.索引分类介绍 2.1.位图索引 1.2.函 ...

  2. oracle的partition,ORACLE PARTITION简介

    一.Oracle分区简介 ORACLE的分区是一种处理超大型表.索引等的技术.分区是一种"分而治之"的技术,通过将大表和索引分成可以管理的小块,从而避免了对每个表作为一个大的.单独 ...

  3. Oracle分区简介

    Oracle分区简介 partition 一.Oracle分区简介 ORACLE的分区是一种处理超大型表.索引等的技术.分区是一种"分而治之"的技术,通过将大表和索引分成可以管理的 ...

  4. [转载]oracle索引的简单总结

    原文地址:oracle索引的简单总结作者:kindle 一.索引的概念: 数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息.在数据库中,索引也允许数据库程 ...

  5. 索引名 oracle,ORACLE 索引名称矫情

    oracle 索引英文名称很多,翻译过来的话也很多中文名称,不过总得来说词不达意.也就是说讲中文的时候,对方无法理解你说的是啥意思,啥情况,啥原理. 比如前缀,非前缀.本地和全局,普通和分区.B树和位 ...

  6. Oracle数据类型简介【转贴】

    为什么80%的码农都做不了架构师?>>>    Oracle数据类型简介 一.概述 在ORACLE8中定义了:标量(SCALAR).复合(COMPOSITE).引用(REFERENC ...

  7. Oracle索引失效问题

    Oracle 索引不起作用的几种情况: 1,<> 2,单独的>,<,(有时会用到,有时不会) 3,like "%_" 百分号在前.(可采用在建立索引时用re ...

  8. Oracle 索引扫描的五种类型

    之前在讨论CBO和RBO的时候提到了索引扫描的几种类型. Oracle Optimizer CBO RBO http://blog.csdn.net/tianlesoftware/archive/20 ...

  9. oracle索引对模糊查询,Oracle索引

    一.Oracle索引原理 通俗易懂得讲,索引就是给每条记录建立了一个目录(索引), 每个建立的索引都是按照这个索引的字段去排序(实际未必是排序)存放, 然后按照索引字段去查询的时候,就先去查询索引,此 ...

最新文章

  1. 浅谈动态人脸识别技术原理
  2. MariaDB Spider分库分表引擎调研
  3. ajax 和xmlHttpRequest区别
  4. python异常捕获_Python-异常捕捉
  5. 图论--二分图最佳完美匹配(KM模板)
  6. 帮助子女成功的十大路径
  7. 给csdn-blog开发组的建议(Kevins)
  8. 查看Linux内核版本、系统版本命令
  9. 算法总结之 在单链表中删除指定值的节点
  10. 学习使用 Go 的反射
  11. [独库骑行之我们路过高山]翻越哈希勒根达坂
  12. javaSocket网络编程
  13. 和利时dcs系统服务器设置,和利时DCS系统组态流程
  14. C语言怎么用键盘复制,怎样复制粘贴,复制粘贴的快捷键.docx
  15. Google 2020 应用与游戏出海 12 月刊: 年终盘点特辑
  16. 【精益生产】一流工厂的管理制度十原则
  17. 被“中年危机”榨干的年轻人:如何尽早实现财务自由?
  18. ARM架构Generic Interrupt Controller(GIC)详解之术语介绍
  19. 中兴推“小兴看看”,诠释智能家电的真谛
  20. 公交换乘系统c语言,数据结构课程设计报告(公交换乘).docx

热门文章

  1. 价值百万的2022年度总结
  2. 结构体的定义、初始化
  3. pythonfillcolor填充不了颜色_如何在matplotlib 2.0中仅使用图案填充(无背景色)填充区域...
  4. 组合导航(一):定位技术分类与介绍
  5. 阿里巴巴2017校招C++岗位在线编程题-求集合D的最大值,最小值和元素个数三者之和
  6. golang float转string后去除末尾的0
  7. LiquiBase实战总结
  8. MySQL数据库实现主主同步
  9. 华为内部存储转sd卡_怎样把华为手机内存的东西传、转到SD卡中呢
  10. 倒立摆系统分析及控制