一、管理索引-原理介绍
索引是用于加速数据存取的数据对象。合理的使用索引可以大大降低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. 工业4.0是个白日梦吗?
  2. Facebook如何预测广告点击:剖析经典论文GBDT+LR
  3. 超图桌面版根据现有数据源制作一幅地图简单操作
  4. pandas 知识点补充:绘图plot
  5. 数据结构之折半插入排序图文详解及代码(C++实现)
  6. 机器学习/深度学习 问题总结及解答
  7. SAP Commerce Cloud WCMS 里的 home 页面和 SAP Spartacus Page API 返回的数据比较
  8. 【VS开发】IP地址格式转换(htonl、ntohl;inet_addr、inet_ntoa)
  9. stm32机械臂资料含视频
  10. 一个DataGridView辅助类
  11. HTML head 头标签
  12. (01)System Verilog 程序数据采集
  13. 【项目实训】基于人脸识别的课堂签到管理系统(python+qt5+sqlite3+百度智能云)
  14. 七、【应用的主要框架】
  15. android_get_control_socket 获取 UNIX 域套接字 FD
  16. 假设检验(Hypothesis Testing)
  17. 防勒索病毒奇兵——MCK(云私钥)
  18. [转]众多OCR软件
  19. 区间多目标优化算法IP-MOEA
  20. JavaScript,实现这样的情景:阅读协议,阅读完毕后就可以点击同意复选框。

热门文章

  1. while循环python的范围_为什么Python中的range()循环比使用while循环更快?
  2. 7.4通过CRaSH管理Spring Boot和定义远程命令
  3. [渝粤教育] 西南科技大学 机电传动控制 在线考试复习资料
  4. 高精度运算一(两个数的运算)
  5. Python进阶(七)argparse参数解析
  6. windows下安装MinGW、swig 、zlib
  7. Open Inventor学习资源
  8. Python实现人工神经网络逼近股票价格
  9. 求数组中最大值和次大值
  10. 在Docker上运行Asp.Net Core示例网站