`

数据库的索引浅谈

阅读更多
引用

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

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

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

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





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


分享到:
评论

相关推荐

    DB2 数据库调优浅谈

    ### DB2 数据库调优浅谈 #### 数据库调优的视角 在进行数据库调优时,不同的视角可能会带来不同的解决方案。通常来说,可以从以下几个方面考虑: - **应用优化**:针对应用程序本身的优化,比如查询逻辑、事务...

    浅谈oracle中重建索引

    ### 浅谈Oracle中重建索引 #### 一、索引的基本概念与作用 在数据库管理系统(DBMS)中,索引是一种特殊的数据结构,它能够加速数据检索的速度。Oracle数据库同样提供了强大的索引功能来优化查询性能。索引通过在...

    浅谈数据库索引的作用及原理

    数据库索引是数据库管理系统中用于加速查询的一种数据结构,它的主要目标是减少数据检索的时间,提高查询效率。本文将深入探讨数据库索引的作用、原理以及何时适合创建索引。 首先,索引的作用在于通过减少全表扫描...

    浅谈SQL Server数据库应用技巧.pdf

    总结而言,高性能的SQL Server数据库应用需要经过精心设计,这包括合理的数据库结构设计、高效的索引策略制定以及对数据库系统的持续监控和调优。一个应用系统是否能够达到最优的性能,取决于其能否充分利用数据库...

    浅谈数据库设计技巧-程序员应该读的

    数据库设计是软件开发过程中的关键环节,尤其是在大数据和云计算时代,高效、稳定、灵活的数据库设计对于系统的性能、可扩展性和数据安全性具有决定性影响。本文将深入探讨数据库设计的一些重要技巧,帮助程序员提升...

    浅谈Oracle数据库基于索引的SQL语句优化方法.pdf

    为了提升数据库的性能,数据库优化是一个重要的手段,其中应用层面的优化主要依赖于索引优化。 索引对于数据库来说,就如同书籍的索引对于读者一样,能够帮助用户更快地找到所需的数据。合理构造表索引能够有效提高...

    浅谈数据库索引

     数据库索引好比是一本书前面的目录,能加快数据库的查询速度。  例如这样一个查询:select * from table1 where id=44。如果没有索引,必须遍历整个表,直到ID等于44的这一行被找到为止;有了索引之后(必须是在...

    从浅究SQL Server索引出发 谈浙江铁通大型数据库查询优化问题.pdf

    简单来说,数据库索引类似于书籍中的索引,它能够快速定位到数据表中的特定信息,从而提高查询效率。索引的创建和优化对于大型数据库的性能提升尤为重要。通过设计良好的索引,不仅可以减少磁盘I/O操作,还能减少...

    浅谈大数据处理中的数据库I_O问题.pdf

    除了列式数据库,还可以考虑其他解决方案,比如使用更高效的缓存策略、数据压缩技术,以及合理设计数据库架构和索引,以降低不必要的I/O操作。同时,分布式数据库和并行计算技术也是应对大数据I/O挑战的重要手段,...

    浅谈ORACLE数据库的性能优化.pdf

    【Oracle数据库性能优化概述】 Oracle数据库作为一款广泛应用于管理信息系统、企业数据处理、互联网和电子商务领域的关系型数据库管理系统,其性能优化对于确保系统的稳定性和高效运行至关重要。随着数据量的快速...

    浅谈对SQL数据库系统性能的优化 (1).pdf

    在实际操作中,数据库管理员需要定期对数据库的索引进行评估,确保索引优化策略能够适应数据变化和查询需求的变化。这通常涉及到定期收集查询性能的统计数据,并根据这些数据来决定哪些索引需要被创建或删除。 综上...

    浅谈SQL Server索引结构及其使用.pdf

    所以,在设计数据库索引时,应考虑数据的查询模式,分析是否需要创建索引以及创建什么样的索引来优化查询性能。同时,定期评估和维护索引,删除不再使用的索引,优化现有索引以适应数据变化,对于保持数据库的高性能...

    浅谈Oracle数据库的碎片整理.pdf

    "浅谈Oracle数据库的碎片整理" 在 Oracle 数据库中,碎片整理是一个非常重要的维护内容。随着时间的推移,基于数据库的应用系统的广泛使用,产生的碎片会越来越多,对数据库性能产生严重的影响。 碎片的产生是由于...

    浅谈Oracle数据库SQL调整与优化.pdf

    Oracle数据库是当前市场上占有率极高的...随着技术的不断发展,对Oracle数据库性能的要求越来越高,如何在保证数据库正常高效运行的同时,实现SQL语句和索引的优化,是每个数据库管理员和开发者必须掌握的核心技能。

    浅谈基于MySQL数据库结构设计.pptx

    浅谈基于MySQL数据库结构设计 本文将围绕MySQL数据库结构设计进行讨论,旨在帮助读者更好地理解和应用MySQL数据库。 MySQL是一个开源的关系型数据库管理系统,它使用了一种名为Structured Query Language(SQL)的...

    浅谈ORACLE数据库优化设计.pdf

    【Oracle数据库优化设计】主要涉及到数据库的架构优化、内存管理、表设计和索引优化等方面,以下是详细的阐述: 1. **数据库优化设计**:Oracle数据库的优化设计主要包括对数据的逻辑结构进行合理的规划,例如采用...

    浅谈数据库设计方法.doc

    对索引使用原则和建立技巧的深入理解可以帮助优化数据库性能。 总结而言,数据库设计是一个系统性的过程,包括前期准备、逻辑设计、表设计、字段设计和索引创建等多个阶段。每个环节都对整体性能产生深远影响。通过...

    浅谈如何优化SQL Server数据库.pdf

    为了达到这些目标,需要遵循以下基本原则:合理设计数据库并为关键字段建立索引;采用合理的数据库对象放置策略;优化SQL语句语法;合理使用外部工具以使SQL更加灵活和高效;以及进行清理和删除日志、备份数据库和...

    浅谈如何优化SQL语句提高数据库系统效率.pdf

    本篇文档题为“浅谈如何优化SQL语句提高数据库系统效率”,旨在探讨在数据库系统中如何通过优化SQL语句来提升整体性能。文档中提到了多种SQL优化的策略和方法,涵盖了查询优化、索引使用、查询语句的设计原则等方面...

Global site tag (gtag.js) - Google Analytics