数据库系列课程(17)-索引实现原理(小结)

简介: 数据库系列课程(17)-索引实现原理(小结)

引言

什么是索引?

答:是帮助MySQL高效获取数据的数据结构。

什么是全表扫描

答:是将整张表扫描一遍,效率非常低。

本文言简意赅的总结索引的几种实现原理:

  • hash算法
  • 平衡二叉树(AVL树)
  • B树实现
  • B+树实现(MyISAM和InnoDB使用)

hash算法

原理:根据某一列(如userName)创建索引。

优点:查找可以根据key进行访问,效率非常高。

缺点:不能进行范围查询(因为无法比较大小)。

其它:映射函数叫散列函数,存放记录数组叫散列表。

平衡二叉树(AVL树)

原理:取一中间值,中间值左边称为作为左子树,右边称为右子树,左子树比中间值小,右子树比中间值大。

优点:使用的是折半查询,与二叉树查询相同,效率非常高。

缺点:支持范围查询,但是需要回旋。

B树

原理:可以知道平衡二叉树越高,IO次数越多,B树的出现就是为了减少二叉树的高度的。

优点:B树节点元素比平衡二叉树多,效率比平衡二叉树高。

缺点:范围查询需要回旋。

B+树

原理:集成B树,有叶子节点和非叶子节点,非叶子节点只包含Key,叶子节点包含key和value。

优点:B+树的出现就是为了解决范围查询问题,减少IO的操作,它继承了B树的特性,解决了回旋的问题。

缺点:因为冗余节点数据,比较占硬盘大小。

目录
相关文章
|
1月前
|
数据库 索引
深入探索数据库索引技术:回表与索引下推解析
【10月更文挑战第15天】在数据库查询优化的领域中,回表和索引下推是两个核心概念,它们对于提高查询性能至关重要。本文将详细解释这两个术语,并探讨它们在数据库操作中的作用和影响。
53 3
|
1月前
|
数据库 索引
深入理解数据库索引技术:回表与索引下推详解
【10月更文挑战第23天】 在数据库查询性能优化中,索引的使用是提升查询效率的关键。然而,并非所有的索引都能直接加速查询。本文将深入探讨两个重要的数据库索引技术:回表和索引下推,解释它们的概念、工作原理以及对性能的影响。
72 3
|
1月前
|
架构师 数据库
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
数据库乐观锁是必知必会的技术栈,也是大厂面试高频,十分重要,本文解析数据库乐观锁。关注【mikechen的互联网架构】,10年+BAT架构经验分享。
大厂面试高频:数据库乐观锁的实现原理、以及应用场景
|
16天前
|
存储 缓存 数据库
数据库索引采用B+树不采用B树的原因?
B+树优化了数据存储和查询效率,数据仅存于叶子节点,便于区间查询和遍历,磁盘读写成本低,查询效率稳定,特别适合数据库索引及范围查询。
33 6
|
24天前
|
存储 缓存 网络安全
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
南大通用GBase 8s 数据库 RHAC集群基本原理和搭建步骤
|
27天前
|
存储 缓存 数据库
数据库索引采用B+树不采用B树的原因
B+树相较于B树,在数据存储、磁盘读写、查询效率及范围查询方面更具优势。数据仅存于叶子节点,便于高效遍历和区间查询;内部节点不含数据,提高缓存命中率;查询路径固定,效率稳定;特别适合数据库索引使用。
28 1
|
1月前
|
数据库 索引
数据库索引
数据库索引 1、索引:建立在表一列或多列的辅助对象,目的是加快访问表的数据。 2、索引的优点: (1)、创建唯一性索引,可以确保数据的唯一性; (2)、大大加快数据检索速度; (3)、加速表与表之间的连接; (4)、在查询过程中,使用优化隐藏器,提高系统性能。 3、索引的缺点: (1)、创建和维护索引需要耗费时间,随数据量增加而增加; (2)、索引占用物理空间; (3)、对表的数据进行增删改时,索引需要动态维护,降低了数据的维护速度。
33 2
|
2月前
|
存储 关系型数据库 MySQL
Mysql(4)—数据库索引
数据库索引是用于提高数据检索效率的数据结构,类似于书籍中的索引。它允许用户快速找到数据,而无需扫描整个表。MySQL中的索引可以显著提升查询速度,使数据库操作更加高效。索引的发展经历了从无索引、简单索引到B-树、哈希索引、位图索引、全文索引等多个阶段。
72 3
Mysql(4)—数据库索引
|
2月前
|
缓存 算法 关系型数据库
Mysql(3)—数据库相关概念及工作原理
数据库是一个以某种有组织的方式存储的数据集合。它通常包括一个或多个不同的主题领域或用途的数据表。
82 5
Mysql(3)—数据库相关概念及工作原理
|
1月前
|
监控 关系型数据库 MySQL
数据库优化:MySQL索引策略与查询性能调优实战
【10月更文挑战第27天】本文深入探讨了MySQL的索引策略和查询性能调优技巧。通过介绍B-Tree索引、哈希索引和全文索引等不同类型,以及如何创建和维护索引,结合实战案例分析查询执行计划,帮助读者掌握提升查询性能的方法。定期优化索引和调整查询语句是提高数据库性能的关键。
243 1
下一篇
DataWorks