MySQL创建内部临时表的场景

技术社群的这篇文章《技术分享 | 盘点 MySQL 创建内部临时表的所有场景》讲解了临时表的应用场景,可以了解下。

临时表属于是一种临时存放数据的表,这类表在会话结束时会被自动清理掉,但在 MySQL 中存在两种临时表,一种是外部临时表,另外一种是内部临时表。

外部临时表指的是用户使用 CREATE TEMPORARY TABLE
 手动创建的临时表。而内部临时表用户是无法控制的,并不能像外部临时表一样使用 CREATE 语句创建,MySQL 的优化器会自动选择是否使用内部临时表。

MySQL 到底在什么时候会使用内部临时表呢?

我们将针对 UNION、GROUP BY 等常用场景进行分析。

1UNION 场景