`
1927105
  • 浏览: 150506 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

数据库的索引

 
阅读更多

1.索引的分类:聚集索引(clusteredindex,也称聚类索引、簇集索引)和非聚集索引(nonclusteredindex,也称非聚类索引、非簇集索引)。


我们把这种内容本身就是一种按照一定规则排列的目录称为“聚集索引”。

我们把这种目录纯粹是目录,正文纯粹是正文的排序方式称为“非聚集索引”。

由于聚集索引跟内容的存储顺序相关,因此一个表只能存在一个聚集索引使用聚集索引的最大好处就是能够根据查询要求,迅速缩小查询范围,避免全表扫描。

2.索引的实现: Hash, B树。。

3.索引的使用:区分单列索引及联合索引:

举例如下:
查询语句“select * from t1 where c1=1 and c2=2”中,

Case1:c1列和c2列上分别建有索引ic1、ic2,那么先使用ic1(或ic2)进行过滤,产生的结果集是临时数据,不再具有索引,所以不可使用ic2(或ic1)进行再次过滤。

Case2:假设存在组合索引it1c1c2(c1,c2),那么查询语句“select * from t1 where c1=1 and c2=2”将能够使用该索引。

并且查询语句“select * from t1 where c1=1”也能够使用该索引。但是,查询语句“select * from t1 where c2=2”不能够使用该索引,因为没有组合索引的引导列,即,要想使用c2列进行查找,必需出现c1等于某值。

因此,where条件语句写的顺序对索引来讲,是至关重要的。

四。补充

发信人: fre (自由), 信区: Java
标 题: Re: 面试知识点---数据库的索引
发信站: 武汉白云黄鹤站 (2008年10月15日20:57:29 星期三)

补充一下:Oracle为例
一、索引还有
1、基于函数索引,比如 select * from stu where upper(name) ='KING';
如果没有索引,将是一个全表扫描
2、位图索引,t(gender,location,age_group,data)有1000万条数据,其中gender、lo
cation、age_group是高度重复的,
对 select * from t where gender='M',and location in(1,2,3) and age_group='19-2
5';
使用位图索引最好,可以通过and 或者 or运算发快速确定
位图索引只适合读密集型操作,因为索引指向表中所有行
二、索引的实现上,对Hash以及B树有各自的适应范围,当好好总结(网易杭研面试问到这
个)
三、索引并不会总增加查询的速度,比较经典的2-5规则,一般情况下当读取小于表中数据
的最高5%时才会使用索引,因为数据库堆表中,数据的存放没有次序,使用索引可能会导
致数据块的重复读取,从而比全扫描的代价还高
三个方面,索引的实现由哪些(内部机制)?有哪些索引(使用场合)?索引对DML的影响

当然还可以考虑对REDO的影响

五。。个人继续补充(Oracle)

1.hint

2.RBO/CBO

3.执行计划

分享到:
评论

相关推荐

    数据库索引设计和优化

    数据库索引设计与优化是数据库管理系统中至关重要的一个环节,它直接影响到数据查询的效率、存储空间的使用以及系统的整体性能。在这个主题中,我们将深入探讨数据库索引的基础概念、设计原则、优化策略以及实际应用...

    数据库索引重建及修复

    数据库索引重建及修复语句

    数据库索引设计原则.

    数据库索引设计原则 数据库索引设计原则是 Oracle 数据库管理系统中的一项重要技术,旨在提高数据库的查询效率和性能。以下是数据库索引设计原则的详细解释。 一、基本原则 数据库索引设计原则的基本原则是确保...

    高清完整版 数据库索引设计与优化

    高清完整版 数据库索引设计与优化 高清完整版 数据库索引设计与优化

    数据库索引设计与优化

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...

    数据库索引设计与优化.pdf

    《数据库索引设计与优化》提供了一种简单、高效、通用的关系型数据库索引设计方法。作者通过系统的讲解及大量的案例清晰地阐释了关系型数据库的访问路径选择原理,以及表和索引的扫描方式,详尽地讲解了如何快速地...

    数据库索引技术ppt

    数据库索引技术是数据库管理系统中的核心组成部分,它极大地提高了数据查询效率,使得在海量数据中查找特定信息变得迅速。下面将分别对标题和描述中提到的各个知识点进行详细阐述。 首先,我们来看“文件记录的组织...

    数据库 索引及优化

    ### 数据库索引及优化详解 #### 一、数据库索引的重要性 数据库索引就像是图书中的目录,能够显著提升查询速度。例如,在执行查询 `SELECT * FROM table1 WHERE id = 44` 时,如果没有索引,系统需要逐行扫描整个...

    漫谈数据库索引漫谈数据库索引漫谈数据库索引

    数据库索引是数据库管理系统中用于加速数据检索的一种数据结构,它的设计目的是为了提高查询效率,减少数据访问的时间。本文将深入探讨数据库索引的概念、B-Tree数据结构以及索引的分类和作用。 首先,B-Tree是...

    oracle,数据库索引

    【数据库索引】是数据库管理系统中用于加速数据检索的一种数据结构。索引好比书籍的目录,能够快速定位到所需的数据行。根据物理存储方式,索引分为【聚簇索引】和【非聚簇索引】。聚簇索引是按照数据的实际存储顺序...

    书籍:Oracle与MySQL数据库索引设计与优化

    《Oracle与MySQL数据库索引设计与优化》这本书深入探讨了两个主流关系型数据库管理系统——Oracle和MySQL中的索引设计和优化策略。索引是数据库性能的关键因素,它们能够加速数据检索,提高系统效率,尤其在大数据量...

    数据库索引的优缺点及其附加资料

    数据库索引作为数据库管理系统(DBMS)中的关键技术之一,其作用在于优化数据的检索速度和确保数据的唯一性。本文将深入探讨数据库索引的优缺点,以及如何在实际操作中合理地运用索引来提升数据库性能。 ### 数据库...

    空间数据库索引技术的研究

    ### 空间数据库索引技术的深度剖析 #### 核心知识点提炼: - **空间数据库索引技术的重要性**:空间数据库索引技术是提升空间数据库存储效率与空间检索性能的关键,尤其在处理大规模空间数据时更为显著。传统索引...

    Oracle数据库索引的维护

    ### Oracle数据库索引的维护 在Oracle数据库管理与优化的过程中,索引的维护是非常关键的一环。合理地创建、管理和优化索引能够显著提高查询性能,降低系统的响应时间,从而提升整个应用程序的效率。本文将从Oracle...

Global site tag (gtag.js) - Google Analytics