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