聚集索引与覆盖索引

聚集索引概念:行记录与索引是存储在一起,没有单独区域存储行记录,

示例:innodb 引擎就包含聚集索引,如果定义了PK,PK就是聚集索引,没有PK,定义了 unique的列就是聚集索引,不然InnoDB会创建一个隐藏的row-id作为聚集索引;

InnoDB的普通索引可以有多个,它与聚集索引是不同的:普通索引的叶子节点,存储主键(也不是指 针),这也决定了他能拿到ID列

在这里插入图片描述

覆盖索引:
概念:只需在一个索引树上就能获取到SQL所需列的数据,不会产生回表问题,创建联合索引可以有效避免回表问题

在这里插入图片描述