`
sw1982
  • 浏览: 511468 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

面试知识点---数据库的索引

阅读更多

索引相关:

 

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


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

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

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

 

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.执行计划

分享到:
评论

相关推荐

    数据库面试知识点汇总

    数据库面试知识点汇总是对数据库方方面面的总结,涵盖了数据库设计、数据库范式、索引、数据库性能优化等方面的知识点。下面是对这些知识点的详细解释: 一、数据库设计 数据库设计是指对关系型数据库的设计,目的...

    mysql面试题-mysql经典面试题目-数据库的基本概念-SQL语法-事务处理-索引优化-性能调优-mysql-面试题目

    面试时,除了这些基本知识点,面试者还应该展示对数据库设计原则的理解,如范式理论(第一范式、第二范式、第三范式等),以及对备份恢复策略、高可用性解决方案(如主从复制、集群)的了解。此外,熟悉MySQL的新...

    数据库面试题--值得一看

    本文将围绕“数据库面试题--值得一看”这一主题,深入探讨数据库面试中可能出现的知识点,帮助求职者更好地准备和理解数据库相关的考试类型及题目。 1. **SQL基础** - SQL语言的基本概念:包括SELECT、INSERT、...

    数据库面试题(汇总网上所有的数据库面试题--最新)

    在数据库面试中,以下是一些常见的知识点: 1. **基本概念**:首先,你需要了解什么是数据库、数据模型(如关系型模型、层次模型、网状模型)、ACID特性(原子性、一致性、隔离性、持久性),以及DBMS(数据库管理...

    数据库面试题(汇总所有的数据库面试题).zip

    数据库是信息技术领域中的...这些知识点涵盖了数据库面试的大部分内容,求职者需要深入理解和实践,才能在面试中展现出扎实的数据库功底。通过解答这些面试题,不仅可以提升技能,也能为未来的职业生涯打下坚实的基础。

    JAVA面试题-数据库部分

    在Java面试中,数据库部分是不可或缺的知识点,因为大多数企业应用程序都依赖于数据库来存储和检索数据。这里我们将深入探讨一些关键的Java与数据库相关的知识点,这些内容可能会出现在面试或笔试中。 首先,我们...

    MySQL数据库高级工程师-面试题-MySQLDBA面试题03-风哥整理面试必过.rar

    【MySQL数据库高级工程师面试知识点详解】 在MySQL数据库高级工程师的面试中,面试官通常会针对以下几个核心领域进行深度考察: 1. **SQL语言基础**:包括但不限于DML(数据操作语言)如INSERT、UPDATE、DELETE,...

    面试知识点总结--MySql.pdf

    MySQL面试知识点总结 ... MySQL 面试知识点总结的主要内容包括数据库基础、SQL 语言、数据查询、数据操作、存储过程和触发器、数据库设计和数据库安全等方面。掌握这些知识点可以帮助大家更好地应对 MySQL 面试。

    【程序员面试准备2】-项目-数据库-C#-网站-Winform -【操作系统与网络】

    【程序员面试准备2】-项目-数据库-C#-网站-Winform -【操作系统与网络】这一主题涵盖了多个IT领域的核心知识点,对于寻求面试机会的程序员来说,掌握这些技能至关重要。以下是对这些关键领域的详细阐述: 1. **项目...

    【Java面试资料】-JAVA核心面试知识点整理

    这份"【Java面试资料】-JAVA核心面试知识点整理"PDF文档,很可能是求职者或开发者提升技能、准备面试的重要参考资料。以下是根据标题和描述提炼出的一些关键Java面试知识点,以及它们在实际编程和面试中的重要性。 ...

    数据库基础知识面试问答指南 - ACID特性和性能优化技巧

    内容概要:本文是一份数据库相关技术点的问答资料,涵盖了如数据库ACID特性定义、数据库索引概念及其优劣分析、SQL的各种JOIN操作解析以及数据库性能优化策略等内容。通过对这些问题的回答,帮助读者全面掌握数据库...

    ORACLE数据库面试题解答-DBA数据库管理员JAVA程序员架构师必看.pdf,这是一份不错的文件

    本文档总结了Oracle数据库面试中的常见问题和答案,涵盖了DBA、数据库管理员、JAVA程序员和架构师等角色的相关知识点。下面是对标题、描述、标签和部分内容的详细解释和知识点总结: 1. 冷备份和热备份的不同点:冷...

    09-MySQL数据库面试题-重点.docx

    MySQL数据库面试题-重点是 MySQL 数据库的面试题,涵盖了 MySQL 数据库的基础知识、索引、存储引擎、事务、锁、视图、存储过程、触发器、SQL语句、优化等方面的知识点。 一、数据库基础知识 数据库基础知识是指...

    【面试资料】-(机构内训资料)数据库面试.zip

    【数据库面试】是IT行业中一个重要的知识领域,尤其在当今数据驱动的世界里,数据库技能对于开发者、运维人员以及数据分析师等...深入理解和掌握这些知识点,将有助于在面试中展现出专业素养,提高成功获得职位的机会。

    数据库面试题-DBA数据库管理员

    以下是从给定的文件中生成的相关知识点: 1. 数据抽象: 数据抽象是指数据库管理系统中对数据的抽象表示,可以分为物理抽象、概念抽象和视图级抽象。物理抽象关心的是数据的物理存储,概念抽象关心的是数据的逻辑...

    数据库面试题数据库面试题.

    数据库面试题涵盖了数据库基础知识、数据结构、算法、面向对象编程、软件工程以及特定数据库系统(如Visual FoxPro和SQL)的使用等多...这些知识点是数据库面试中常见的考察点,对于理解和解答数据库相关问题至关重要。

    ImageBasedModellingEdu-数据库面试题

    《ImageBasedModellingEdu-数据库面试题》 在当今的信息化时代,数据库技术作为支撑各种业务系统的核心组件,其重要性不言而喻。...在面试中,展示对这些知识点的深刻理解,将大大增加成功的机会。

    Orcle面试知识点

    oracle面试常用知识点,下面是文档部分内容,希望帮助到你 Oracle SQL性能优化 (1) 选择最有效率的表名顺序(只在基于规则的优化器中有效): ORACLE的解析器按照从右到左的顺序处理FROM子句中的表名,FROM子句中写...

    计算机数据库面试重要知识点.pdf

    计算机数据库面试重要知识点包括存储过程、索引、事务、乐观锁和悲观锁、使用索引查询、drop、delete 与 truncate 的区别、超键、候选键、主键、外键等。这些建议是数据库面试的重要知识点,了解这些知识点对数据库...

    数据库面试经典试题!!

    数据库是信息技术领域中不可或缺的一部分,尤其在面试环节,掌握数据库的核心知识往往能为求职者加分不少。...通过深入理解和实践这些知识点,不仅可以应对面试,更能提升你在实际工作中处理数据库问题的能力。

Global site tag (gtag.js) - Google Analytics