一、管理索引-原理介绍
索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低i/o次数,从而提高数据访问性能。索引有很多种我们主要介绍常用的几种:
为什么添加了索引后,会加快查询速度呢?

二、创建索引
1)、单列索引
单列索引是基于单个列所建立的索引
语法:create index 索引名 on 表名(列名);
eg、create index nameIndex on custor(name);
2)、复合索引
复合索引是基于两列或是多列的索引。在同一张表上可以有多个索引,但是要求列的组合必须不同,比如:
create index emp_idx1 on emp(ename, job);
create index emp_idx1 on emp(job, ename);
以上这两个索引是两个不同的索引。

三、使用原则
1)、在大表上建立索引才有意义
2)、在where子句或是连接条件上经常引用的列上建立索引
3)、索引的层次不要超过4层
这里能不能给学生演示这个效果呢?
如何构建一个大表呢?

四、索引的缺点
索引有一些先天不足:
1)、建立索引,系统要占用大约为表1.2倍的硬盘和内存空间来保存索引。
2)、更新数据的时候,系统必须要有额外的时间来同时对索引进行更新,以维持数据和索引的一致性。
实践表明,不恰当的索引不但于事无补,反而会降低系统性能。因为大量的索引在进行插入、修改和删除操作时比没有索引花费更多的系统时间。
比如在如下字段建立索引应该是不恰当的:
1. 很少或从不引用的字段;
2. 逻辑型的字段,如男或女(是或否)等。
综上所述,提高查询效率是以消耗一定的系统资源为代价的,索引不能盲目的建立,这是考验一个DBA是否优秀的很重要的指标

五、其它索引
按照数据存储方式,可以分为B*树、反向索引、位图索引;
按照索引列的个数分类,可以分为单列索引、复合索引;
按照索引列值的唯一性,可以分为唯一索引和非唯一索引。
此外还有函数索引,全局索引,分区索引...

对于索引我还要说:
在不同的情况,我们会在不同的列上建立索引,甚至建立不同种类的索引,请记住,技术是死的,人是活的。
比如:B*树索引建立在重复值很少的列上,而位图索引则建立在重复值很多、不同值相对固定的列上。

六、显示索引信息
1)、在同一张表上可以有多个索引,通过查询数据字典视图dba_indexs和user_indexs,可以显示索引信息。其中dba_indexs用于显示数据库所有的索引信息,而user_indexs用于显示当前用户的索引信息:select index_name, index_type from user_indexes where table_name = '表名';
2)、显示索引列
通过查询数据字典视图user_ind_columns,可以显示索引对应的列的信息
select table_name, column_name from user_ind_columns where index_name ='IND_ENAME';
你也可以通过pl/sql developer工具查看索引信息

转载于:https://www.cnblogs.com/linjiqin/archive/2012/02/17/2356433.html

十六、oracle 索引相关推荐

  1. oracle过滤器基础,Oracle培训(四十六)——Servlet第六章知识点总结——过滤器编程...

    Oracle培训(四十六)--Servlet第六章知识点总结--过滤器编程 目标 编写一个过滤器 部署一个过滤器 了解请求和响应包装器 在请求分发器下的过滤器 知识点预览 过滤器 过滤器 1. 什么是 ...

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

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

  3. 第十六章 - 垃圾回收相关概念

    第十六章 - 垃圾回收相关概念 文章目录 第十六章 - 垃圾回收相关概念 1.System.gc( )的理解 1.1 手动 GC 来理解不可达对象的回收 2.内存溢出与内存泄露 2.1 内存溢出(OO ...

  4. 各种Oracle索引类型介绍

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

  5. 2021年大数据HBase(十六):HBase的协处理器(Coprocessor)

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 HBase的协处理器(Coprocessor) 一.起源 二 ...

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

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

  7. 我的MYSQL学习心得(十六) 优化

    原文:我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(十六) 优化 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看 ...

  8. Flask 教程 第十六章:全文搜索

    本文转载自:https://www.jianshu.com/p/56cfc972d372 这是Flask Mega-Tutorial系列的第十六部分,我将在其中为Microblog添加全文搜索功能. ...

  9. 十六款值得关注的NoSQL与NewSQL数据库--转载

    原文地址:http://tech.it168.com/a2014/0929/1670/000001670840_all.shtml [IT168 评论]传统关系型数据库在诞生之时并未考虑到如今如火如荼 ...

  10. Python编程基础:第十六节 元组Tuple

    第十六节 元组Tuple 前言 实践 前言 我们这一节来学习一个与列表非常相似的数据结构--元组.需要注意的是元组定义好以后,其中的元素是不能改变的,并且所有元素是有序排列的, 实践 我们先来创建一个 ...

最新文章

  1. 《经济学人》万字长文:DeepMind和谷歌的AI拉锯战
  2. 在emu8086中学习几个汇编语言显示字符串的小例子
  3. Android开源框架——网络解析GSON
  4. 今年光伏市场规模可达30GW 分布式有望占据三分江山
  5. 使用Vitamio打造自己的Android万能播放器(7)——在线播放(下载视频)
  6. 140. Word Break II
  7. spring JdbcTemplate数据库查询实例
  8. 操作系统 第一章 计算机系统概述
  9. 安装mysql程序运行出错_如何解决mysql安装后.net程序运行出错的问题
  10. grid网格布局基础(一)
  11. STM32 CAN通信协议详解—小白入门(一)
  12. cadence 原理图orcad使用总结
  13. html策略类文字游戏,中国唯一 一款运营超20年的网游竟然是款纯文字游戏
  14. 未明学院学员报告:“民以食为天”?看了这份天猫超市数据分析报告你就知道了!
  15. 小木虫 高光谱遥感图像处理_高光谱图像变化检测
  16. 学校计算机教室防火墙,学校网络及电脑教室建设方案
  17. 电线电缆的五大种类解释及结构意义(转载)
  18. str.charAt(0);
  19. Html a标签的用法
  20. 关于RouterOS 国内DDNS服务

热门文章

  1. c语言创建增加删除单向动态链表,C语言实现简单的单向链表(创建、插入、删除)及等效STL实现代码...
  2. mfc多文档获取版本号_管理Microsoft Office文档—基于SOLIDWORKS PDM
  3. .net mysql参数化查询,ASP.NET中的mysql参数化查询
  4. 如果查看oracle_home是否共享_现在还有小伙伴用XP系统吗?经常会共享打印问题...
  5. 【渝粤教育】国家开放大学2018年春季 0266-21T设计构成 参考试题
  6. caffe之 Blob、Layer、Net
  7. 谷歌大脑阿尔伯塔联合发表:离线强化学习的优化视角【附代码】
  8. 如何快速将一个lista集合中的部分字段值组合成新的的listb部分*
  9. spring配置文件中导入约束的详细步骤
  10. Spring Framework的核心:Spring AOP