Documentation Home

13.2.11.11 优化子查询

开发仍在进行中,因此从长远来看,没有任何优化技巧是可靠的。下面的列表提供了一些您可能想要尝试的有趣技巧。另见 第 8.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;