#### 13.2.11.11 优化子查询

开发正在进行中，因此从长远来看，没有任何优化技巧是可靠的。以下列表提供了一些您可能想玩的有趣技巧。也可以看看[第 8.2.2 节，“优化子查询、派生表、视图引用和公用表表达式”](subquery-optimization.html).

-   将子句从外部移动到子查询内部。例如，使用以下查询：

    ```
    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;
    ```
