`

索引的工作原理与优缺点

阅读更多
索引是什么:
是某个表中一列或若干列值的集合和相应的指向表中物理标识这些值的数据页的逻辑指针清单。索引的作用相当于图书的目录

工作原理:
当表中有大量记录时,若要对表进行查询,第一种搜索信息方式是全表搜索,是将所有记录一一取出,和查询条件进行一一对比,然后返回满足条件的记录,这样做会消耗大量数据库系统时间,并造成大量磁盘I/O操作;第二种就是在表中建立索引,然后在索引中找到符合查询条件的索引值,最后通过保存在索引中的ROWID(相当于页码)快速找到表中对应的记录。


索引是为了加速对表中数据行的检索而创建的一种分散的存储结构。索引是针对表而建立的,它是由数据页面以外的索引页面组成的,每个索引页面中的行都会含有逻辑指针,以便加速检索物理数据。

优点
1.大大加快数据的检索速度;
2.创建唯一性索引,保证数据库表中每一行数据的唯一性;
3.加速表和表之间的连接;
4.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间。


缺点
1.索引需要占物理空间。
2.当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,降低了数据的维护速度。


普通索引、唯一索引、主键索引和聚集索引,位图索引(oracle),全文索引(mysql)
分享到:
评论

相关推荐

    Ajax工作原理及优缺点实例解析

    ### Ajax工作原理及优缺点实例解析 #### 一、什么是Ajax? Ajax,全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),是一种利用现有Web技术进行开发的技术组合,主要用于实现客户端与服务器之间...

    详解SQL数据库索引原理

    在深入探讨SQL数据库索引原理之前,我们先来理解一下索引的基本概念。索引,类似于书籍中的目录,是数据库中一种特殊的数据结构,用于快速定位数据。它并不存储实际的数据,而是存储了数据行的位置信息,使得数据库...

    数据库索引的优缺点及使用时的注意事项.docx

    然而,索引并非无懈可击,它们也有其优缺点,并需要根据特定场景谨慎使用。 **优点:** 1. **提高查询速度**:索引为数据库提供了一种快速查找数据的方式,特别是对于大数据量的表,索引可以显著减少查询时间。 2. ...

    干货!MySQL常见的面试题+索引原理分析.docx

    哈希表、完全平衡二叉树、B树和B+树都是常见的数据结构,它们都有各自的优缺点。哈希表适合精确查询,但不支持范围查询,因此在需要进行范围查找时,如`name>'周瑜'`,哈希表效率低下。完全平衡二叉树(如红黑树)...

    数据库索引那些事(数据库索引原理)

    "数据库索引那些事(数据库索引原理)" 数据库索引是数据库的一种对象,它保存数据库表中一列或多列组合的排序。索引提供指向存储在表的指定列中的数据值的指针,然后根据指定的排序顺序对这些指针排序。数据库使用...

    MySQL JOIN 工作原理浅析1

    本文将对 MySQL 中的 JOIN 工作原理进行浅析,包括 Nested Loop Join 和 Hash Join 两种连接算法的工作原理、优缺点及应用场景。 1. Nested Loop Join Nested Loop Join 是一种基于循环的连接算法,工作原理如图所...

    SQL Server索引的原理深入解析

    **索引的优缺点** 优点:索引显著提高了查询性能,减少了I/O操作,尤其是在大型数据集中。对于经常用于搜索的列,索引可以带来巨大的性能提升。 缺点:索引会占用额外的存储空间,增加数据维护的时间,如插入、删除...

    MYSQL索引知识

    2. **MySQL索引的优缺点和使用原则**: - **优点**:可以给任何列创建索引,提升查询速度。 - **缺点**:创建和维护索引需要时间,占用额外存储空间,且影响数据的增删改操作速度。 使用索引时应遵循一定的原则...

    索引类型FULLTEXT,HASH,BTREE,RTREE,索引优化1

    本文主要关注前三者,详细解析它们的原理、存储结构和优缺点。 首先,BTree 索引是最常见的索引类型,几乎所有的存储引擎都支持。BTree 以其高效的检索性能而受到青睐。例如,MyISAM 存储引擎使用 B+Tree,叶子节点...

    oracle 索引

    下面将详细讨论Oracle索引的基本概念、类型、优缺点以及如何创建和管理。 一、基本概念 索引是一种特殊的文件,由数据库管理系统自动维护,存储了表中某些列的值和对应行的物理位置。当执行查询时,Oracle会利用...

    LUCENE搜索引擎基本工作原理

    目录索引的优缺点: - **优点**:人工分类更准确,信息结构清晰。 - **缺点**:更新慢,收录新网站需要人工审核,灵活性较低。 随着技术的发展,现代搜索引擎倾向于采用混合模式,结合了全文检索的效率和目录索引的...

    Oracle 索引

    Oracle提供了多种类型的索引,包括B树索引、位图索引、函数索引、唯一索引和复合索引等,每种都有其独特的应用场景和优缺点。 1. **B树索引**:这是最常见的索引类型,适用于频繁的查询操作。B树索引通过排序的数据...

    oracle的索引学习

    本篇文章将深入探讨Oracle索引的学习,重点关注索引的原理、类型、优缺点以及如何使用和分析执行计划。 首先,理解索引的基本概念。索引是一种特殊的数据结构,它存储在表空间中,用于加速对表数据的访问。当执行...

    数据库索引

    #### 四、索引的优缺点 ##### 优点: 1. **提高查询速度**:索引可以显著提高查询速度,尤其是当涉及到大量数据时。 2. **确保数据唯一性**:通过创建唯一性索引,可以确保表中某一列或几列的值是唯一的。 3. **...

    oracle索引分析与比较

    每种索引都有其特定的适用场景和优缺点。 1. **B*Tree索引**:B*Tree(B树)是最常见和广泛使用的索引类型,适用于高基数数据列,即包含大量不同值的列。它的结构类似于二叉树,由分支块和叶块组成。查询时,系统从...

    index,索引,多维索引数据结构

    2. 常见的索引类型:比如B树、哈希索引、位图索引等,它们各自的优缺点和适用场景。 3. 多维索引详解:如何设计和使用多维索引,特别是在大数据和分析查询中的应用。 4. 源码解析:可能涉及到数据库管理系统中索引的...

    MySQL索引机制(详细+原理+解析).doc

    三、索引的优缺点 索引机制有其优点和缺点: 优点: * 加快数据的检索速度 * 提高查询效率 * 减少 I/O 次数 缺点: * 占用存储空间 * 降低写入速度 * 增加索引维护成本 四、索引的设计原则 索引的设计需要...

    SQL 索引优化

    在数据库管理中,SQL索引优化是提升查询性能的关键技术之一。索引如同书籍的目录,可以帮助数据库系统快速定位...理解索引的工作原理和优缺点,能够帮助我们更好地管理和维护数据库,为应用程序提供更快更稳定的服务。

Global site tag (gtag.js) - Google Analytics