mysql 索引执行过程 回表

MySQL索引执行过程如下:

  1. MySQL首先通过B+树索引快速定位到符合条件的行;
  2. MySQL通过回表(也称为聚簇索引)找到精确的数据;
  3. 如果回表的代价过高,MySQL会考虑使用覆盖索引,即只从索引树中获取所需的所有数据,避免了回表的开销。

在回表过程中,MySQL需要返回所有列的数据,因此需要进一步访问存储引擎获取数据。存储引擎会利用主键或聚簇索引中的行指针,直接取出相关数据页,并读取所需的数据。因此,回表操作的效率与存储引擎的实现有关。如果表的数据都可以被覆盖索引所包含,那么回表的开销就可以避免。

你可能感兴趣的:(mysql,数据库)