• 饭前思考1 主键索引和普通索引有什么区别?


    在MySQL种,索引是在存储引擎层实现的,所以并没有统一的索引标准,由于InnoDB存储引擎在MySQL数据库中使用
    最为广泛,下面以InnoDB为例来分析一下其中的索引模型,在InnoDB中,表都是根据主键顺序以索引的形式存放的,
    InnoDB使用了B+树索引模型,所以数据都是存储在B+树中的,如图:

    从图中可以看出,根据叶子节点内容不同,索引类型分为主键索引和非主键索引。
    主键索引也被称为聚簇索引,叶子节点存放的是整行数据;而非主键索引被称为二级索引,叶子节点存放的是
    主键的值。
    如果根据主键查询,只需要搜索ID这颗B+tree
    而如果通过非主键索引查询,需要先搜索k索引树,找到对应的主键,然后再到ID索引树搜索一次,
    这个过程叫做回表。
    总结,非主键索引的查询需要多扫描一颗索引树,效率相对更低。

    lower 非主键索引 先搜索k索引树 再搜索id主键索引tree, k索引树可以理解为索引标识的字段
    power 主键索引

  • 相关阅读:
    发呆发呆发呆发呆发呆发呆发
    大众捷达看想吃 v 觉得分开才相聚离开都出现
    yjggj
    test4
    test3
    test2
    test1
    Java并发之线程池ThreadPoolExecutor源码分析学习
    Java并发之AQS同步器学习
    ThreadLocal和ThreadLocalMap源码分析
  • 原文地址:https://www.cnblogs.com/ukzq/p/15905964.html
Copyright © 2020-2023  润新知