`

索引简介

 
阅读更多
一、索引简介
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树索引)

d.函数索引
当需要经常访问一些函数或表达式时,可以将其存储在索引中,当下次访问时,由于该值已经计算出来了,因此,可以大大提高那些在WHERE子句中包含该函数或
   表达式的查询操作的速度;
   函数索引既可以使用B树索引,也可以使用位图索引。
二、管理索引的原则
使用索引应该遵循以下一些基本的原则。
1.小表不需要建立索引。
2.对于大表而言,如果经常查询的记录数目少于表中总记录数目的15%时,可以创建索引。这个比例并不绝对,它与全表扫描速度成反比。
3.对于大部分列值不重复的列可建立索引。
4.对于基数大的列,适合建立B树索引,而对于基数小的列适合建立位图索引。
5.对于列中有许多空值,但经常查询所有的非空值记录的列,应该建立索引。
6.LONG和LONG RAW列不能创建索引。
7.经常进行连接查询的列上应该创建索引。
8.在使用CREATE INDEX语句创建查询时,将最常查询的列放在其他列前面。
9.维护索引需要开销,特别时对表进行插入和删除操作时,因此要限制表中索引的数量。对于主要用于读的表,则索引多就有好处,但是,一个表如果经常被更改,则索引应少点。
10.在表中插入数据后创建索引。如果在装载数据之前创建了索引,那么当插入每行时,Oracle都必须更改每个索引。
分享到:
评论

相关推荐

    mysql索引与树结构(索引简介、索引用法详解、B-Tree索引结构、索引导致的问题).docx

    #### 一、索引简介 - **基本概念** - **定义**: 索引是一种特殊的数据结构,用于提高数据库中数据检索的速度。 - **功能**: 存储引擎利用索引来快速定位数据记录的位置。 - **索引的优点** 1. **唯一性**: 主键...

    MySql索引简介

    【MySQL索引简介】 MySQL数据库中的索引是一种特殊的数据结构,用于加速对数据库表中数据的访问。它通过对表中一列或多列的值进行排序,使得数据查询过程更为高效。索引的作用就像书籍的目录,能快速指引我们找到所...

    mysql结构和索引简介.png

    mysql结构和索引简介,包含日志文件和数据文件的分析。索引的分类及其。聚集索引和非聚集索引的概念和区别 及其简单介绍B Tree 和B+ Tree的区别和概念

    MySQL 索引最佳实践

    #### 索引简介 索引的主要目的是加快数据库中的数据访问速度。此外,索引还可以帮助实施某些约束,例如唯一性和外键约束。虽然理论上可以不使用任何索引运行查询,但这往往会导致执行时间过长。 #### 常见索引类型...

    索引总结 ,多年使用,工作培训

    #### 一、索引简介 索引是数据库管理系统中的一项关键技术,它可以帮助我们快速定位数据,显著提升数据检索的效率。索引类似于书籍中的目录,使得我们可以跳过不必要的部分直接找到所需的信息。 1. **索引的作用**...

    oracle索引简介

    本文将深入探讨几种主要的Oracle索引类型,包括B*Tree索引、反向索引、降序索引以及位图索引,并分析它们的特点和适用场景。 1. **B*Tree索引** B*Tree(平衡多路搜索树)索引是最常见的索引结构,是默认的索引...

    B树索引简单实验

    #### 一、B树索引简介 在数据库管理系统中,索引是用于提高数据检索效率的重要工具之一。其中,B树索引是一种广泛应用于关系型数据库中的数据结构。B树(Balance Tree)是一种自平衡的树结构,能够保持数据有序,...

    EI工程索引.pdf

    #### 一、EI工程索引简介 - **创立时间**:1884年。 - **出版者**:美国工程信息公司(Engineering Information Inc.)。 - **特点**:综合性文摘刊物。 - **网络版**:EiCompendex,《工程索引》的网络版本。 ###...

    完整精品数据库课件 MySQL从入门到精通 第09章 索引(共11页).ppt

    1. **索引简介** - **含义与特点**:索引是数据库为了加速数据检索而创建的一种特殊数据结构,它存储了数据表中部分或全部列的值,以及指向对应记录的指针。优点在于显著提高了查询速度,但缺点是会占用额外的存储...

    Web上检索《科学引文索引》:SCI的使用与发展ppt-.pptx

    ##### 引文索引简介 引文索引是一种特殊的索引形式,它记录了文献之间的引用关系。这种索引方式超越了传统基于关键词的主题索引,而是通过追踪一篇文献被其他文献引用的情况来揭示其学术影响力。引文索引背后的核心...

    sql索引、试图简介

    【SQL索引、试图简介】 SQL索引是数据库管理系统中用于加速数据检索的关键技术,它类似于书籍中的索引,能够帮助快速定位到所需的数据。在数据库中,索引的使用可以显著提高查询效率,尤其是在处理大量数据时。然而...

    SQL2019系统性能优化解决方案共12页文档.docx

    一、索引简介 索引是一种根据数据库表中一个或多个列的值进行排序的结构。索引提供指针以指向存储在表中的数据值,然后根据指定的排序次序排列这些指针。索引键用于创建索引的列。 二、索引类型 1. 聚集索引:...

    关于SQL Server中索引使用及维护简介

    在SQL Server中,索引是提升数据库性能的关键因素,它们帮助快速定位数据,减少磁盘I/O操作,从而加速查询速度。本篇文章将探讨聚簇索引、非聚簇索引以及覆盖索引的使用和维护策略。 1. **聚簇索引**:聚簇索引决定...

    索引使用简介.doc

    【索引使用简介】 在数据库管理系统中,索引是一种数据结构,它能够加快对表中数据的访问速度。索引的使用是优化SQL查询性能的关键因素,但也需要谨慎处理,因为它们会对数据插入、更新和删除操作(DML操作)产生...

    B-tree bitmap index

    #### 位图索引简介 位图索引在某些特定场景下比B-树索引更有效,尤其是在处理高基数数据列时。它同样采用B-树结构,但在叶子结点存储的是位图,而非ROWID。 **结构示例:** - **索引项头(EntryHeader):** 同B-...

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

    一、索引简介 1、索引相当于目录 2、索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率。 3、索引的创建要适度,多了会影响增删改的效率,少了会影响查询的效率,索引最好创建在取值分散...

    Better bitmap performance with Roaring bitmaps

    1. 位图索引简介 位图索引是一种常用的数据库和搜索引擎技术,通过位级并行运算可以明显地加速查询速度。但是,位图索引也可以占用大量内存空间,于是压缩位图索引是非常必要的。Oracle公司率先使用RLE对位图索引...

    Oracle索引

    Oracle数据库的索引简介、创建和使用小技巧

    mysql数据库以及索引详解.pptx

    ### MySQL数据库及索引详解 #### 一、MySQL简介与数据库发展 MySQL是一款非常流行的开源关系型数据库管理系统,由瑞典MySQL AB公司开发。它以其高性能、稳定性和易用性著称,广泛应用于Web应用程序和企业级系统中...

Global site tag (gtag.js) - Google Analytics