MST

星途 面试题库

面试题:MySQL中回表操作的基本概念及常见触发场景

请简要阐述MySQL回表操作是什么,并列举至少两种常见的会触发回表操作的场景。
28.6万 热度难度
数据库MySQL

知识考点

AI 面试

面试题答案

一键面试

回表操作定义

在MySQL InnoDB存储引擎中,数据以聚簇索引的形式存储。当使用非聚簇索引(二级索引)查询数据时,首先通过二级索引找到对应的主键值,然后再根据主键值去聚簇索引中获取完整的数据行,这个过程就叫做回表操作。

触发回表操作的常见场景

  1. 使用覆盖索引不满足时:例如,查询语句SELECT a, b, c FROM table_name WHERE index_column = 'value';,若index_column上有二级索引,但该索引不是覆盖索引(即索引中不包含abc所有列),就需要先通过二级索引找到主键值,再根据主键值回表获取完整数据行。
  2. 范围查询:当使用BETWEEN><等范围查询条件时,如SELECT * FROM table_name WHERE index_column BETWEEN 'value1' AND 'value2';,如果index_column是二级索引,MySQL会先通过二级索引定位符合范围的主键值,然后再回表获取完整的数据行。