• 聚簇索引和非聚簇索引
    • 聚簇索引其实就是主键索引,非聚簇索引就是非主键索引
    • 聚簇索引的叶子结点上保存了整行的数据,
    • 非聚簇索引只保存了主键数据,所以通过非聚簇索引查询数据的时候需要根据索引找到主键的值,然后再通过主键的值在聚簇索引上查询到整行的值(回表)
  • innodb引擎非聚簇索引一定会回表么
    • 不一定,如果索引包含了所有的查询字段的时候就不需要回表(覆盖索引)
  • 根据主键id进行查询的时候select *和 select id 哪个快
    • 从查找数据行来讲其实效率是一样的,但是由于select * 查询的内容要比select id 要多(数据的拷贝和读取),所以select *要慢点
    • 但是这个问题考察的是主键索引(聚簇索引)的知识,所以可以回答一样快
  • innodb
    • 其实一个innodb的表就是多个B+树组成的