数据库索引个人理解

本文解释了数据库索引的概念,包括索引键的定义、索引如何提高查询速度,以及B+树等不同索引结构的应用。强调了索引对大型数据集和频繁查询的效率提升,同时提到了索引失效的问题需要注意。
摘要由CSDN通过智能技术生成

数据库索引是什么,它的作用是什么?_数据库索引的作用-CSDN博客

下面这段话来自AI

数据库索引存储的是根据索引键计算出的数据结构,以提高数据库查询的速度和效率。索引键是指在数据库表中某列或多列上建立索引的字段。当创建索引时,数据库系统会根据指定的索引键计算出索引值,并将这些值存储在特定的数据结构中,通常是树形结构,如B树或B+树。

索引的作用是将数据库表中的数据按照指定的键值进行排序和组织,以便快速地进行数据检索和访问。通过索引,数据库系统可以更快地定位到符合查询条件的数据行,而不需要逐行扫描整个表。这样可以大大提高查询的效率,特别是对于大型数据集合和频繁查询的场景。

索引存储的数据结构和计算方式取决于所使用的数据库管理系统的实现。不同的数据库系统可能采用不同的索引算法和数据结构来支持索引功能,例如B树、B+树、哈希索引等。这些算法和数据结构都旨在提供高效的数据访问和查询性能。

每个帖子的图片都有细微差别,原理上是相同的

索引中不会记录数据库的值,记录的是值的位置

B+树结构

索引和数据库的数据是分开的,索引是为某列的值添加索引,

将这列所有值通过索引的计算方法得出一个索引值,将索引值存储在一个b+tree中,在查找是,

select * from user where name =‘张三’;

将'张三'通过索引计算,计算出一个数值,以上图为例 ,比如是63,那么首先读取第一层的,找到28到65,锁定在p2,完成一次IO,然后找到第二层中的28到56的片,大于56,应该在p3中,在找到p3对应的片,找到63,进而找到63存储数据的值。一共发生3次IO,每次读取数据都是3个数字

而没有索引的情况下,每次读取一个值进行对比,发生IO次数多,查找速度慢

添加索引后的查找基本上查找次数都是相同的,稳定,注意添加索引后执行查询语句要避免索引失效造成查询速度还是慢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值