再探讨 MySQL 数据回表的最佳实践?

2026-05-17 00:260阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计2583个文字,预计阅读时间需要11分钟。

再探讨 MySQL 数据回表的最佳实践?

一:概述+关于概述的概念网上关于概述的资料已经很多,这里不再过多赘述。下面我们直接放一张图,可能更直观地说明什么是概述。图中:非聚集索引也叫二级索引,其本质也是+一个

一:回表概述

关于回表的概念网上已经有很多了,这里不过多赘述。下面我们直接放一张图可能更直观说明什么是回表。

图中 非聚集索引也叫二级索引,二级索引本质上也是 一 个 B+ 树结构,与聚集索引(也叫主键索引)不同的是,非聚集索引并不包含表上的完整数据,当在e二级索引上查询时,实际上数据规模变小了很多,此时二级索引上的 IO 成本更低一些,速度更快。实际业务中,经常发现我们的 SQL 从 二级索引上过滤了数据,但发现还是很慢,其中回表是比较常见的一个原因。假如你的 SQL 想要的数据,不能完全从 二级索引上得到时,此时就需要回表从聚集索引上过滤扫描,这个过程需要一些性能开销,时间复杂度大概在 O(1) – O(n) 之间。

阅读全文
标签:概念

本文共计2583个文字,预计阅读时间需要11分钟。

再探讨 MySQL 数据回表的最佳实践?

一:概述+关于概述的概念网上关于概述的资料已经很多,这里不再过多赘述。下面我们直接放一张图,可能更直观地说明什么是概述。图中:非聚集索引也叫二级索引,其本质也是+一个

一:回表概述

关于回表的概念网上已经有很多了,这里不过多赘述。下面我们直接放一张图可能更直观说明什么是回表。

图中 非聚集索引也叫二级索引,二级索引本质上也是 一 个 B+ 树结构,与聚集索引(也叫主键索引)不同的是,非聚集索引并不包含表上的完整数据,当在e二级索引上查询时,实际上数据规模变小了很多,此时二级索引上的 IO 成本更低一些,速度更快。实际业务中,经常发现我们的 SQL 从 二级索引上过滤了数据,但发现还是很慢,其中回表是比较常见的一个原因。假如你的 SQL 想要的数据,不能完全从 二级索引上得到时,此时就需要回表从聚集索引上过滤扫描,这个过程需要一些性能开销,时间复杂度大概在 O(1) – O(n) 之间。

阅读全文
标签:概念