Oracle序列有两个作用

1、提供主键和唯一键约束:外键约束在父表中定义了,所以在子表中不是必须的,但是出于性能的考虑,通常也在子表中的外键约束列建立索引;

2、提高系统的系能:语句中有where子句、语句中带有排序操作,语句中带有表连接的操作

索引的类型:

B*Tree Index:默认类型,当一个表很大,而查询的数据只占表全部数据中很小的一部分的时候,这种索引很有效;

bitmapindex:

B*Tree Index:

通常,如果一个查询需要取出的数据超过全表数据的2%--4%,那么全表扫描会更快;

还有一种特殊的对NULL值的检索会用到全表扫描,因为NULL值不会进入B树索引,如:

select * from emp where last_name is null; ---这条语句将使用全表扫描;

对B树索引应用场合的定义:

列中的候选对象比较多,表有很多的行,使用了where子句和JOIN条件;

B树索引不太适合数据仓库的应用;

位图索引

位图索引可以对null值进行

对位图索引应用场合的定义:

列中的候选对象比较少,表中有很多的行,对表的操作经常使用布尔逻辑;

索引类型选项

  • unique or nonunique
  • reverse key:有效的将索引键分散开;
  • compressed:重复的索引键值只存储一次;
  • composite
  • function based
  • ascending or descending

这六个选项对B树索引都可以使用,但是只有最后三项可以对位图索引使用;

thedafault type of indexx is a nonunique, noncompressed, non-reverse key B*Treeindex

itis  not possible to create a uniquebitmap index;

建立索引

--创建索引

CREATE UNIQUE INDEXdept_i1 ON detp(deptno);

CREATE UNIQUE INDEXemp_i1 ON emp(empno);

CREATE INDEX emp_i2ON emp(first_name,last_name);

CREATE BITMAP INDEXemp_i3 ON emp(deptno);

ALTER TABLE dept ADDCONSTRAINT dept_pk PRIMARY KEY(deptno);

ALTER TABLE emp ADDCONSTRAINT emp_pk PRIMARY KEY(empno);

ALTER TABLE emp ADDCONSTRAINT emp_fk FOREIGN KEY(deptno) REFERENCES dept(deptno);

修改和删除索引

ALTER INDEX主要被管理员使用来调整索引的物理属性,不能被用来调整索引的逻辑属性

如果想修改一个索引,请先删除,然后重建:

drop index emp_i2;

createindex emp_i2 on emp(first_name,last_name, dob);

当表被删除的时候,建立在表之上的约束条件和索引也一并删除;

如果索引在创建约束条件是隐式创建的,删除约束条件的同时,索引也自动删除

显示创建的索引将不会被删除;

Oracle索引概述相关推荐

  1. Oracle 索引概述

    Oracle 提供了多种不同类型的索引以供使用.简单地说,Oracle 中包括如下索引: B*树索引:这些是我所说的"传统"索引.到目前为止,这是 Oracle 和大多数其他数据库 ...

  2. 各种Oracle索引类型介绍

    各种Oracle索引类型介绍 逻辑上: Single column 单行索引 Concatenated 多行索引 Unique 唯一索引 NonUnique 非唯一索引 Function-based函 ...

  3. Oracle索引扫描方式

    文章目录 0.参考资料 1.索引扫描方式和索引类型概述 2.索引唯一扫描(index unique scan) 3.索引范围扫描(index range scan) 4.索引跳跃扫描(index sk ...

  4. Oracle索引梳理系列(八)- 索引扫描类型及分析(高效索引必备知识)

    理解oracle索引扫描类型的特点以及具体触发的条件,对于通过合理地使用索引,进行sql优化至关重要(例如组合索引的引导列的选择问题). 在总结索引扫描类型前,需要再次强调关于索引特点的几个关键点: ...

  5. Oracle索引梳理系列(六)- Oracle索引种类之函数索引

    函数索引 1.1 概述 在实际应用中,当条件列使用函数运算进行数据匹配时,即使该列建立了索引,索引也不会被使用. 如下示例,其中在owner列上建立一个普通b-tree索引,观 察两种查询方式(不使用 ...

  6. Oracle索引梳理系列(二)- Oracle索引种类及B树索引

    版权声明:本文发布于http://www.cnblogs.com/yumiko/,版权由Yumiko_sunny所有,欢迎转载.转载时,请在文章明显位置注明原文链接.若在未经作者同意的情况下,将本文内 ...

  7. Oracle索引详解(索引的原理,创建索引,删除索引,修改索引等)

    Oracle索引详解 一.索引概述 Oracle作为关系型数据库,用户查找数据与行的物理位置无关,表中的每一行均用一个ROWID来标识,当Oracle数据库中存储海量的记录时,就意味着有大量的ROWI ...

  8. oracle 与indexc函数,oracle索引知识小结

    索引概述 索引是关系数据库中用于存放每一条记录的一种对象,主要目的是加快数据的读取速度和完整性检查.建立索引是一项技术性要求高的工作.一般在数据库设计阶段的与数据库结构一道考虑.应用系统的性能直接与索 ...

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

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

最新文章

  1. 深入理解javascript选择器API系列第二篇——getElementsByClassName
  2. 使用snmp对DNS服务器进行图形化监控
  3. hashcode值一样对象一定相同吗_HashMap实现原理分析(面试问题:两个hashcode相同 的对象怎么存入hashmap的)...
  4. Linux 用户组相关命令
  5. 使用Nexus配置Maven私有仓库
  6. JAX-RS协议说明
  7. win10安装 MySQL安装教程
  8. Addr、@运算符与Pointer类型
  9. 27代理模式(Proxy Pattern)
  10. 如何理解 Graph Convolutional Network(GCN)?
  11. 计算机网络课设题目java_java课程设计参考题目
  12. 面试官系统精讲Java源码及大厂真题 - 01 开篇词:为什么学习本专栏
  13. 产品研发过程管理专题——软件工程(软件目的需求开发与管理)
  14. 按周汇总_有合并单格及空行的数据如何快速汇总?简单几步快速搞定
  15. java复试容易被刷掉吗_推免生一定被录取吗复试会被刷吗
  16. Swift之 ? 和 !
  17. ADAS/AD控制器模块开发03 - 系统架构设计及通用需求定义
  18. Python数据库sqlite3详解
  19. 概率论与数理统计——卡方分布的期望与方差
  20. pearson相关性

热门文章

  1. 无internet,安全
  2. Linux开机无网络连接解决方案
  3. go语言gin项目创建
  4. 网络存储技术Windows server 2012 (项目二十二 远程异地灾备中心的部署)
  5. 电脑计算机怎么没有桌面显示器,电脑显示器没有全屏显示怎么解决
  6. 前端和后端分别做什么?
  7. Android-第三节圆形图案及shape属性(修改圆形图片)
  8. Android Notification消息提示
  9. UOJ#748-[UNR #6]机器人表演【dp】
  10. Email邮件发送设置 工具开发整理(网易邮箱、Mailgun为例) 上篇