`

索引的使用

 
阅读更多

 

数据库表的信息是存在在文件中的,每个文件中有很多记录,你添加一条记录,文件中就会多一条记录。

如果要查找一条记录怎么查找呢?你会打开文件读取文件内容,然后看看是不是你要的记录,查找任何记录都要从前向后去比较。就像一个房间有很多人,你知道要找的人在这个房间,但是具体在什么位置你不知道,你只有一个一个看,直到找到你要找的人,运气好的话,第一个人就是你要找的,运气不好,最后一个人才是你要找的。效率低不低?

如何解决这个问题呢?如果能记录每条记录的位置信息是不是就可以很快找到呢?例如房间中有很多人,你可以制作一个座位图,这样要找哪个人,先在图上找出这个人在什么地方,然后直接到相应的位置找就可以找到。这就是索引。如果座位图上用的是名字和位置信息,要是根据名字可以很快找到这个人,要根据编号就没有办法查找了。所以索引是根据记录的某个属性(可以是多个)来建立的。

索引为什么能提高效率呢?因为查找的时候,可以直接定位,不用遍历,所以查找会非常快。当然如果你要查询某个表的所有记录对速度不会用太大影响。在表连接的时候是如何提交效率的呢?遍历第一个表时候,对于每一条记录,都会根据连接字段去查找关联表,如果能直接定位就可以直接读取,如果不能直接定位,在需要遍历第二张表,表中有多少记录,就要遍历多少次。所以如果两张表分别有3000条记录,有索引(在关联字段上)需要找3000次,如果没有索引需要找3000*3000/2次,所以效率差别会非常大。

 

 

当然也不是说索引越多越好,因为建立索引是需要成本的,包括需要存储索引列与记录的对应关系,另外在对数据进行增、删、改的时候都要对索引进行维护,会影响效率。

分享到:
评论

相关推荐

    oracle索引使用样例

    ### Oracle索引使用样例详解 #### 一、索引并行创建 在Oracle数据库中,并行创建索引可以显著提高创建索引的速度,尤其是在处理大量数据时。下面的SQL语句展示了如何并行创建一个索引: ```sql CREATE INDEX IDX_GD...

    Oracle 索引 使用方法

    Oracle 索引 使用方法,索引 使用原理, 索引 使用顺序过程

    索引使用规则.txt

    根据“索引使用规则.txt”文件提供的信息,我们可以深入探讨一系列关于索引使用的最佳实践与限制条件,以下是对这些规则的详细解析: ### 1. 索引与逻辑运算符的兼容性 当在WHERE子句中使用`NOT`或`LIKE '%XX%'`这...

    MySQL索引 使用笔记

    本笔记将深入探讨MySQL中的索引使用,旨在帮助你提升数据库性能。 1. 索引的概念与类型: - 索引是一种数据结构,用于快速定位表中的特定行,类似于书籍的目录。 - MySQL支持多种类型的索引,包括B-Tree(默认)...

    V1.0-sqlServer索引使用总结.docx

    SQL Server 索引使用总结 本文档总结了 SQL Server 中索引的使用方法、分类和注意事项,并提供了实践测试的示例代码。 索引的使用目的 索引的使用目的主要是为了提高查询速度和效率。通过创建索引,可以快速地...

    11、MongoDB聚合操作及索引使用详解-ev.rar

    11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar11、MongoDB聚合操作及索引使用详解_ev.rar...

    Oracle 监控索引使用率脚本分享

    例如,脚本的输出显示了几个表的索引使用情况,如ACC_POS_CASH_PL_TBL_ARC表的主键索引PK_ACC_POS_CASH_PL_ARCH_TBL,执行了多次RANGE SCAN, UNIQUE SCAN, SAMPLE FAST FULL SCAN和SKIP SCAN操作。通过比较不同操作...

    mysql高性能索引查询(查询性能问题、索引使用原则、索引创建、索引的优点缺点).docx

    ##### 2、索引使用原则 索引的使用并非越多越好,而是在充分理解业务场景的基础上,根据查询需求来设计。例如,在电商系统中: - **用户方**:通常会基于用户ID(user_id)进行查询,也可以通过订单号(order_no)查询...

    MySQL 进阶-索引使用规则

    以下将详细介绍MySQL中的索引使用规则及其相关知识。 1. **创建索引** - **CREATE INDEX** 语句用于在表的列上创建索引,例如:`CREATE INDEX idx_name ON table_name (column_name);` - **唯一性索引**:`UNIQUE...

    索引使用技巧大全宝典

    【索引使用技巧大全宝典】 索引是数据库系统中不可或缺的一部分,它们极大地提升了数据检索的速度,尤其是在处理大规模数据时。然而,不恰当的索引使用可能会适得其反,影响数据库性能。以下是对索引使用技巧的深入...

    74 再来看看几个最常见和最基本的索引使用规则l.pdf

    在本文中,我们将探讨几个最常见和最基本的索引使用规则,特别关注联合索引的使用,这是多列索引的一种,可以帮助进一步优化数据库的查询性能。 首先,我们需要了解等值匹配规则。当我们在WHERE子句中使用等号进行...

    函数索引使用

    ### 函数索引使用 #### 一、函数索引(Function-Based Index)概念与作用 函数索引(Function-Based Index, FBI),是Oracle数据库自Oracle 8i版本引入的一种特殊类型的索引。它允许在创建索引时使用任意内置或...

    索引使用简介.doc

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

    表排序 索引使用 使用plist文件存储数据

    在IT行业中,表排序、索引使用以及使用plist文件存储数据是常见的操作,尤其是在数据库管理和移动应用开发中。下面将详细讲解这三个知识点。 首先,**表排序**是数据处理的基础,无论是在关系型数据库中还是在内存...

    SQL Server索引使用的几个误区.pdf

    标题中提到的“SQL Server索引使用的几个误区.pdf”指明了文档的主题是关于SQL Server数据库中索引的使用,同时强调了一些常见错误和误解。这部分内容通常会涉及索引在数据库中的作用、种类以及如何正确使用索引来...

    SQL索引使用方略(系统而全面)

    ### SQL索引使用方略(系统而全面) #### 一、引言 索引是数据库管理系统(DBMS)中用于提高数据检索速度的重要工具之一。它能够显著提升查询性能,但同时也可能对插入、更新和删除操作的速度产生负面影响,并且会占用...

    计算机等考三级数据库辅导:谈索引使用的误区.docx

    【计算机等考三级数据库辅导:谈索引使用的误区】 在数据库设计中,索引是一种重要的优化工具,用于加速数据检索。然而,对于索引的使用,存在一些常见的误区,这可能会导致性能下降而非提升。本文将探讨这些误区,...

    行业-74 再来看看几个最常见和最基本的索引使用规则l.rar

    本资料“行业-74 再来看看几个最常见和最基本的索引使用规则l.rar”可能包含了一份详细的文档,探讨了数据库索引的基本原则和常见应用。下面,我们将深入讲解一些关于索引的重要知识点。 首先,了解索引的工作原理...

    SQL Server 索引结构及其使用(聚集索引与非聚集索引)

    "SQL Server 索引结构及其使用(聚集索引与非聚集索引)" 数据库索引是数据库性能优化的关键技术之一。SQL Server 提供了两种索引:聚集索引(clustered index)和非聚集索引(nonclustered index)。本文将详细介绍...

    计算机等考三级数据库辅导:其他书上没有的索引使用经验总结.docx

    本篇文章将深入探讨一些关于索引使用的经验总结,这些经验可能在传统的教材或书籍中较少提及,但对实际数据库操作有显著的影响。 首先,我们要理解索引的基本概念。索引是数据库管理系统为了加速数据检索而创建的一...

Global site tag (gtag.js) - Google Analytics