`
sw1982
  • 浏览: 503854 次
  • 性别: 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.执行计划

分享到:
评论

相关推荐

    Orcle面试知识点

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

    2021年最新java面试题--视频讲解(内部培训84个知识点超详细).rar

    Java面试题20.jsp和Servlet的相同点和不同点 Java面试题21.内置对象和四大作用域和页面传值 Java面试题22.Session和Cookie的区别和使用场景 Java面试题23.mvc模式和mvc各部分的实现 Java面试题24.数据库分类和常用...

    数据库(主要是MySQL)相关面试知识点总结

    数据库(主要是MySQL)相关面试知识点总结 内容主要包括: 分布式和集群、主从服务器、数据库的数据结构、索引以及索引创建、数据库设计四大范式、反范式化、事务基本要素、隔离级别及实现、事务并发问题、MVCC、SQL...

    202311月最新MySQL-71到精选面试题题及答案涵编程题和存储知识点-20231120.pdf

    MySQL面经文档,其中包含了一些常见的面试编程题和技术要点。这些资源可以帮助准备MySQL面试的人了解面试的类型、难度和覆盖范围。 题目类型:选择题、填空题、编程题等。 难度:根据题目的复杂度可以分为简单、中等...

    MySQL 数据库面试题

    涵盖了数据库事务、索引、关系型数据库与非关系型数据库的区别、数据库范式、主键和外键、JOIN 操作、数据库索引、备份和恢复、数据库连接池以及提高数据库性能的技术和策略。此资源适用于那些准备参加 MySQL 相关...

    免费下载非常详细的 Mysql 面试知识点

    在MySQL面试中,以下是一些重要的知识点: 1. 数据库基础知识:了解数据库的概念、关系型数据库的特点以及SQL语言的基本语法。 2. 数据库设计:熟悉数据库设计原则和范式,能够设计出合理的数据库结构和关系模型...

    JAVA超全面试突击包-答案讲义

    涵含各种重要的JAVA编程知识点,面试突击专用 内容包括:Spring、SprngBoot、SpringCloud、Redis、MySQL、MyBatis、JVM、多线程和高并发、设计模式等 Spring框架:包括Spring的核心概念,如依赖注入和面向切面编程 ...

    数据库索引的知识点整理小结,你所需要了解的都在这儿了

    数据库索引,相信大家都不陌生吧。 索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。作为辅助查询的工具,合理的设计索引能很大程度上减轻db的查询压力,db我们都...

    MySQL面试题知识点讲解_小学知识点归纳

    mysql面试题知识点讲解 随便说几个吧:性能优化,分布式数据库,索引,锁,日志,容灾恢复...

    数据库-SqlServer详解

    内容涵盖了SQLServer的简介、安装和配置、数据类型、表和索引、查询语言、存储过程和触发器、事务管理、备份和恢复、高可用性、性能优化、监控和维护、社区和支持等高级知识点。 **适用人群:** 本教程适合所有准备...

    MySQL数据库面试题总结(2023最新版)

    2023年最新MySQL面试题整理, 包含触发器,索引,索引,性能优化,排序,管理视图,一致性验证,跨数据库查询,视图、主从,日志、MVCC等问题, 用简洁明了的语言,通俗易懂地阐述了高并发多线程相关面试的知识点。...

    MySQL面试知识点追命连环问(二)事务、索引及SQL优化

    MySQL面试知识点追命连环问(一) 这次我们继续来追命连环问关于事务,索引,SQL优化等相关的内容。准备好了吗? 事务 索引 SQL优化 常见问题 1. MySQL事务 面试官:你知道事务吗? 我:知道。事务(Transaction)是...

    分享几道关于MySQL索引的重点面试题

    假如我们用类比的方法,数据库中的索引就相当于书籍中的目录一样,当我们想找到书中的摸个知识点,我们可以直接去目录中找而不是在书中每页的找,但是这也抛出了索引的一个缺点,在对数据库修改的时候要修改索引到...

    数据库面试知识点(五)数据库优化

    数据结构、SQL、索引是成本最低,且效果最好的优化手段。 二、优化方向 1. SQL 以及索引的优化 首先要根据需求写出结构良好的 SQL,然后根据 SQL 在表中建立有效的索引。但是如果索引太多,不但会影响写入的效率,...

    mysql面试题知识点.zip

    Mysql优化.md Mysql存储引擎.md Mysql数据类型.md Mysql日志.md Mysql简介.md mysql面试题知识点.zip pom.xml RDBMS常见知识点.md RDBMS简介.md 事务.md 数据库锁.md 索引.md

    2021最新java面试合集pdf.rar

    JAVA核心知识点整理.pdf Java面试笔记.docx JAVA面试题解惑系列.pdf Java面试题(基础).pdf JVM 实用参数系列 - v1.0.pdf JVM与性能优化知识点整理.pdf JVM面试专题.docx JVM面试专题及答案.pdf Linux系统Redis笔记...

    mysql进阶知识以及面试常考知识

    面试准备:该资源重点关注面试中常考的MySQL知识点,提供面试题目和答案解析,帮助用户熟悉常见的面试问题和回答技巧。用户可以通过学习这些面试常考知识,增强自己在MySQL相关职位面试中的竞争力。 实用工具和资源...

    MySQL数据库面试题(50道题含答案和思维导图总结)

    关于MySQL常见的知识点总结了一个思维导图分享给大家,希望对大家有所帮助! 1、MySQL 中有哪几种锁? (1)表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最 高,并发度最低。 (2)行级锁:...

    互联网Java面试训练营.rar

    9. Java集合总结【面试题+脑图】,将知识点一网打尽! 10. 2万字Java并发编程面试题合集(含答案,建议收藏) 11. Java并发面试,幸亏有点道行,不然又被忽悠了 12. Java面试- JVM 内存模型讲解 13. 推荐收藏...

    mysql面试题 包含 初级 中级 高级 各级别知识点.rar

    数据库三范式是什么? union和union all有什么不同? char、varchar2、varchar有什么区别? 合并查询有哪些? SQL语句执行顺序 null的含义 MySQL、SqlServer、oracle写出字符存储、字符串转时间 update语句可以...

Global site tag (gtag.js) - Google Analytics