8.2.2 优化子查询,派生 table 和视图引用
MySQL 查询优化器有多种策略可用于评估子查询:
-
对于
IN
(或=ANY
)子查询,优化器具有以下选择: -
Semijoin
-
Materialization
-
EXISTS
策略
-
-
对于
NOT IN
(或<>ALL
)子查询,优化器具有以下选择: -
Materialization
EXISTS
策略
对于派生 table,优化器具有以下选择(这也适用于视图引用):
-
将派生 table 合并到外部查询块中
-
将派生 table 具体化为内部临时 table
以下讨论提供了有关前面的优化策略的更多信息。