数据库 -> 索引的基本原理

索引的基本原理

索引的本质 -> 索引的本质是一种排好序的数据结构,目的在于提高查询效率。

  • MySQL 中最常用的索引的数据结构是 B+ 树
  • 索引的基本原理也就是B+ 树的基本原理
    • 一个树节点可以存放多个数据
      • 红黑树是不可以一个节点存多个数据的,B+ 树的高度比红黑树低
    • 树的叶子节点是排好序的,跟链表一样排序有前后引用的
      • B树是没有排序的,B树不好进行范围查询
      • B+ 有排序,做范围查找的是否就可以根据链表一样的结构向前或向后查询

基本原理就是通过B+树的结构优点查询数据

  • 一个节点称为一页,一页可以包括多个数据
  • 查询开始利用二分法从根节点查找下一层的位置,找到最后的叶子节点
  • 如果是MyISAM引擎那么就叶子节点保存的data数据的地址,然后去myd的文件里找到数据
  • 如果是InnoDB的引擎,叶子节点就保存着data数据,索引和数据是保存在一个文件中的,速度也会快一些

猜你喜欢

转载自blog.csdn.net/rod0320/article/details/123488102