文档首页
MySQL 8.4 参考手册
相关文档 下载本手册
PDF (US Ltr) - 39.9Mb
PDF (A4) - 40.0Mb
手册页 (TGZ) - 258.5Kb
手册页 (Zip) - 365.5Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


MySQL 8.4 参考手册  /  ...  /  优化子查询、派生表、视图引用和公用表表达式

10.2.2 优化子查询、派生表、视图引用和公用表表达式

MySQL 查询优化器有不同的策略可以用来评估子查询

  • 对于与 IN= ANYEXISTS 谓词一起使用的子查询,优化器有以下选择

    • 半连接

    • 物化

    • EXISTS 策略

  • 对于与 NOT IN<> ALLNOT EXISTS 谓词一起使用的子查询,优化器有以下选择

    • 物化

    • EXISTS 策略

对于派生表,优化器有以下选择(也适用于视图引用和公用表表达式)

  • 将派生表合并到外部查询块中

  • 将派生表物化到内部临时表中

以下讨论提供了有关上述优化策略的更多信息。

注意

使用子查询来修改单个表的 UPDATEDELETE 语句的一个限制是,优化器不使用半连接或物化子查询优化。作为解决方法,请尝试将它们重写为使用连接而不是子查询的多表 UPDATEDELETE 语句。