数据库的索引就像一本书的目录,查数据快人一步,快速定位,精准打击!
什么是数据库的索引?
官方介绍索引是帮助MySQL高效获取数据的数据结构。更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
一般来说索引本身也很大,不可能全部存储在内存中,因此索引往往是存储在磁盘上的文件中的(可能存储在单独的索引文件中,也可能和数据一起存储在数据文件中)。我们通常所说的索引,包括聚集索引、覆盖索引、组合索引、前缀索引、唯一索引等,没有特别说明,默认都是使用B+树结构组织(多路搜索树,并不一定是二叉的)的索引。
索引有哪几种?
- 主键索引
- 概述:表中创建的索引
- 特点:默认自动创建,只能有一个
- 关键字:
PRIMARY
- 唯一索引
- 概述:避免同一表中数据列的值重复
- 特点:可以有多个
- 关键字:
UNIQUE
- 常规索引
- 概述:快速定位特定数据
- 特点:可以有多个
- 关键字:
- 全文索引
- 概述:查找文本中的关键词,而不是比较索引中的值
- 特点:可以有多个
- 关键字:
FULLTEXT
索引失效了解吗?如何解决?
索引的数据结构—树
什么是二叉树?
父节点下有两个叶子结点,比父节点小的放在左边,比父节点大的放在右边。
痛点:如果元素顺序插入的话二叉树会变成单向链表。
什么是自平衡二叉树?
痛点:如果元素顺序插入的话二叉树会变成单向链表。
为了解决这个痛点,引入了平衡二叉树。也称为红黑树。它会自动平衡父节点下叶子结点左右的均匀分布。文章来源:https://www.toymoban.com/news/detail-860639.html
什么是B树?
什么是B+树?
元素过多裂变的话,中间的元素向上裂变。B+树底下含有所有上面出现过的元素,且底下的元素是单向链表链接。文章来源地址https://www.toymoban.com/news/detail-860639.html
到了这里,关于DB索引&B+树&SQL优化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!