SQL查询--索引

本文深入探讨了SQL查询中的索引,包括索引的概念、作用、工作原理、不同类型的索引以及管理索引的基本原则。了解如何创建有效的索引,有助于提升数据库查询性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

索引概念和作用

索引是建立在表上的可选对象,目的是为了提高查询速度。
如果要在表中查询指定的记录,在没有索引的情况下,必须遍历整个表,而有了索引之后,只需要在索引中找到符合查询条件的索引字段值,就可以通过保存在索引中的ROWID快速找到表中对应的记录。
例如,如果将表看做一本书,索引的作用类似于书中的目录。在没有目录的情况下,要在书中查找指定的内容必须阅读全文,而有了目录之后,只需要通过目录就可以快速找到包含所需内容的页码(相当于ROWID)
 
索引的关键在于通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率。
索引在逻辑上和物理上都与相关的表的数据无关,当创建或删除一个索引时,不会影响基本的表、数据库应用或其他索引,当插入、更改和删除相关的表记录时,Oracle会自动管理所引,如果删除索引,所有的应用仍然可以继续工作。因此在表上一列或多列创建索引不会对表的使用产生任何影响,但是,可以提高检索速度。
 
索引一旦建立后,当在表上进行DML操作时,Oracle会自动维护索引,并决定何时使用索引。
索引的使用对用户是透明的,用户不需要再执行SQL语句时指定使用哪个索引以及如何使用索引。索引只与系统性能相关。

索引原理

 

索引的类型

可以按照列的多少、索引值是否唯一、索引数据的组织形式对索引进行分类,以满足各种表和查询条件的要求:
1、单列索引和复合索引
一个索引可以由一个或多个列组成,基于单个列所创建的索引称为单列索引,基于两列或多列所创建的索引称为多列索引。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值