MySQL 8.4 Release Notes
15.2.15.11 子查询优化
开发仍在进行中,因此没有一个长期有效的优化技巧。以下是一些可能值得尝试的有趣小把戏。请参阅第10.2.2节,“子查询、派生表、视图引用和通用表达式的优化”。
-
将子句从外部移动到内部。例如,使用以下查询:
SELECT * FROM t1 WHERE s1 IN (SELECT s1 FROM t1 UNION ALL SELECT s1 FROM t2);
而不是这个查询:
SELECT * FROM t1 WHERE s1 IN (SELECT s1 FROM t1) OR s1 IN (SELECT s1 FROM t2);
另一个例子是使用以下查询:
SELECT (SELECT column1 + 5 FROM t1) FROM t2;
而不是这个查询:
SELECT (SELECT column1 FROM t1) + 5 FROM t2;