当前位置: 首页 > 编程笔记 >

oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .

伊温书
2023-03-14
本文向大家介绍oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .,包括了oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .的使用技巧和注意事项,需要的朋友参考一下
一、索引简介

1、索引相当于目录
2、索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率。
3、索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取值分散的列上,避免对同一张表创建过多的索引
4、索引的使用对用户来说是透明的,由系统来决定什么时候使用索引。
5、Oracle支持多种类型的索引,可以按列的多少、索引值是否唯一和索引数据的组织形式对索引进行分类,以满足各种表和查询条件的要求。(请见附件)
a. 单列索引和复合索引
b.B树索引(create index时默认的类型)
B树索引中所有叶子节点都具有相同的深度,所以不管查询条件如何,查询速度基本相同。另B树索引能够适应各种查询条件,包括精确查询、模糊查询和比较查询
--Unique 唯一索引 值唯一,但允许存在null,主键默认存在唯一索引,但列不能为null
--Non-Unique:非唯一索引,其索引值可以重复,允许为NULL。默认情况下,Oracle创建的索引是非唯一索引
--Reverse Key:反向关键字索引。通过在创建索引时指定“REVERSE”关键字,可以创建反向关键字索引,被索引的每个数据列中的数据都是反向存储
的,但仍然保持原来数据列的次序
c.位图索引(对列值范围少,如性别 政治面貌适用,而不是默认的B树索引)
c.函数索引
当需要经常访问一些函数或表达式时,可以将其存储在索引中,当下次访问时,由于该值已经计算出来了,因此,可以大大提高那些在WHERE子句中包含该函数或
表达式的查询操作的速度;
函数索引既可以使用B树索引,也可以使用位图索引。
二、管理索引的原则

使用索引应该遵循以下一些基本的原则。
1. 小表不需要建立索引
2.对于大表而言,如果经常查询的记录数目少于表中总记录数目的15%时,可以创建索引。这个比例并不绝对,它与全表扫描速度成反比。
3.对于大部分列值不重复的列可建立索引。
4.对于基数大的列,适合建立B树索引,而对于基数小的列适合建立位图索引。
5.对于列中有许多空值,但经常查询所有的非空值记录的列,应该建立索引。
6.LONG和LONG RAW列不能创建索引。
7.经常进行连接查询的列上应该创建索引。
8.在使用CREATE INDEX语句创建查询时,将最常查询的列放在其他列前面。
9.维护索引需要开销,特别时对表进行插入和删除操作时,因此要限制表中索引的数量。对于主要用于读的表,则索引多就有好处,但是,一个表如果经常被更改,则索引应少点。
10.在表中插入数据后创建索引。如果在装载数据之前创建了索引,那么当插入每行时,Oracle都必须更改每个索引。
三、LONG类型(可存储2G)主要用于不需要作字符串搜索的长串数据,如果要进行字符搜索就要用varchar2类型,存储这么长的请使用 pstat1.setCharacterStream()方法,资料见附件P26
四、创建索引语法如下

CREATE INDEX语句的语法如下:
CREATE [UNIQUE] | [BITMAP] INDEX index_name
ON table_name([column1 [ASC|DESC],column2
[ASC|DESC],…] | [express])
[TABLESPACE tablespace_name]
[PCTFREE n1]
[STORAGE (INITIAL n2)]
[NOLOGGING]
[NOLINE]
[NOSORT];

五、
1、查看索引信息可以在 all_indexs 表中
2、查看索引信息及引用的列 all_ind_columns
3、查看函数索引信息 all_ind_expressions

4、oracle比较智能,有时候即使创建了索引也不会使用,比如说在数据量比较少的情况下,可能就不会用索引
5、当进行全表扫描的时候,不用索引效率会更好
6、查询可能会使用缓存,所以说如果发现执行速度变快了,不一定说明你的sql更优了,有可能是使用到了缓存而已
7、使用plsql中的“解释计划”功能可以比较执行计划的消耗,进而写出更优的sql
 类似资料:
  • 主要内容:关于面试技巧自我介绍1,关于面试技巧自我介绍2,关于面试技巧自我介绍3,关于面试技巧自我介绍4,关于面试技巧自我介绍5,关于面试技巧自我介绍6,关于面试技巧自我介绍7,关于面试技巧自我介绍8,关于面试技巧自我介绍9,关于面试技巧自我介绍10关于面试技巧自我介绍   当进入一个新环境,我们通常会被要求作自我介绍,通过自我介绍可以让别人认识自己。到底应如何写自我介绍呢?以下是小编帮大家整理的关于面试技巧自我介绍,欢迎阅读与收藏。 关于面试技巧自我介绍1   在面试刚开始时要求面试者做自我介

  • 主要内容:关于自我介绍面试技巧1,关于自我介绍面试技巧2,关于自我介绍面试技巧3,关于自我介绍面试技巧4,关于自我介绍面试技巧5,关于自我介绍面试技巧6,关于自我介绍面试技巧7,关于自我介绍面试技巧8,关于自我介绍面试技巧9关于自我介绍面试技巧   当来到一个新环境时,需要我们进行自我介绍,用自我介绍往往可以来展示自己。到底应如何写自我介绍呢?以下是小编帮大家整理的关于自我介绍面试技巧,欢迎阅读与收藏。 关于自我介绍面试技巧1   案例:如何把握时间   大学刚毕业的小刘很健谈,口才甚佳,对自我

  • 本文向大家介绍oracle索引介绍(图文详解),包括了oracle索引介绍(图文详解)的使用技巧和注意事项,需要的朋友参考一下 对于数据库来说,索引是一个必选项,但对于现在的各种大型数据库来说,索引可以大大提高数据库的性能,以至于它变成了数据库不可缺少的一部分。 索引分类: 逻辑分类 single column or concatenated     对一列或多列建所引 unique or non

  • 主要内容:面试自我介绍的技巧1,面试自我介绍的技巧2,面试自我介绍的技巧3,面试自我介绍的技巧4,面试自我介绍的技巧5,面试自我介绍的技巧6,面试自我介绍的技巧7,面试自我介绍的技巧8,面试自我介绍的技巧9,面试自我介绍的技巧10,面试自我介绍的技巧11,面试自我介绍的技巧12,面试自我介绍的技巧13,面试自我介绍的技巧14,面试自我介绍的技巧15面试自我介绍的技巧   当到达一个新的环境后,我们不得不需要向他人介绍自己,自我介绍是结识新朋友的重要手段。写自我介绍可不能随随便便哦,下面是小编为大

  • 目录表 简介 Python的特色 概括 为什么不使用Perl? 程序员的话 简介 Python语言是少有的一种可以称得上即简单又功能强大的编程语言。你将惊喜地发现Python语言是多么地简单,它注重的是如何解决问题而不是编程语言的语法和结构。 Python的官方介绍是: Python是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单而有效地实现面向对象编程。Python简洁的语法和

  • 本文向大家介绍MySQL使用命令创建、删除、查询索引的介绍,包括了MySQL使用命令创建、删除、查询索引的介绍的使用技巧和注意事项,需要的朋友参考一下 MySQL数据库表可以创建、查看、重建和删除索引,索引可以提供查询速度。索引根据分类,分为普通索引和唯一索引;有新建索引、修改索引和删除。但是索引不是到处都可以创建,需要根据具体的条件。下面利用实例说明索引创建到销毁的过程,操作如下: 熟悉使用My