xuMengqi's Blog

InnoDB存储引擎的索引是如何实现的?


目录


  1. 1. 索引的概念
    1. 1.1. 什么是索引?
    2. 1.2. 什么是索引组织表?
    3. 1.3. 索引的分类有哪些?
    4. 1.4. 索引有哪些优点和缺点?
  2. 2. 索引的实现
    1. 2.1. 索引需要满足的需求有哪些?
    2. 2.2. 实现索引的数据结构选型?
      1. 2.2.1. 使用哈希表实现索引
      2. 2.2.2. 使用二叉查找树实现索引
      3. 2.2.3. 使用红黑树实现索引
      4. 2.2.4. 使用B树实现索引
      5. 2.2.5. 使用B+树实现索引
    3. 2.3. InnoDB存储引擎的索引和MyISAM存储引擎的索引有什么区别?
  3. 3. 组合索引
    1. 3.1. 什么是组合索引?
    2. 3.2. 组合索引失效的场景有哪些?
  4. 4. 索引优化
    1. 4.1. 什么是回表?
    2. 4.2. 什么是覆盖索引?
    3. 4.3. 什么是索引条件下推?
    4. 4.4. 什么是前缀索引?
    5. 4.5. 为什么推荐使用递增唯一列作为主键?
    6. 4.6. 如何创建合适的索引?
    7. 4.7. 索引失效有哪些场景?
  5. 5. 一条查询语句的执行过程是怎样的?
  6. 6. 参考文档