参考答案
结论:MySQL索引用于加速查询,回表指通过二级索引找到主键后再查聚簇索引获取整行数据的过程。核心要点:1.索引机制:InnoDB默认B+树,主键索引(聚簇)叶子节点存完整行数据,二级索引叶子存主键值;2.回表时机:当查询语句使用二级索引,但SELECT字段未完全被该索引覆盖(即非覆盖索引),需用主键回聚簇索引取其他列;3.避免回表:建立覆盖索引,如联合索引(name,age)查询SELECT name,age WHERE name='x'无需回表;4.示例:SELECT * FROM user WHERE name='a'(name有二级索引)会回表;而SELECT id,name FROM user WHERE name='a'因id在二级索引叶子中,可避免回表。理解回表有助于优化慢查询。