mysql中的索引覆盖及回表
select id from table where name=?(一棵树查询出id)
看我写的可能会很懵,解释一下。假设name为唯一索引,非聚簇索引在数据库中存储在两棵树中,聚簇索引存储于一嗑树中。以name为索引叶子结点中对应存储的不是name的一行数据,而是name对应的id,一棵树直接找到select的内容。
如果是select * from table where name=?则需要遍历两棵树,先以name找到对应的id,此为一棵树。再以id找对应的行数据,此为第二棵树。遍历两棵树的也被称为回表。
🌺🌺注意mysql底层是B+树
如果有不明白可以私信我