数据库索引是什么,它的作用是什么?_数据库索引的作用-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次数多,查找速度慢
添加索引后的查找基本上查找次数都是相同的,稳定,注意添加索引后执行查询语句要避免索引失效造成查询速度还是慢