当我优化我的 2 个单个查询以在 0.02 秒内运行,然后UNION
它们生成的查询需要超过 1 秒才能运行。此外, aUNION ALL
比 a 花费更长的时间UNION DISTINCT
。
我假设允许重复会使查询运行得更快而不是更慢。我真的最好分开运行这两个查询吗?我更喜欢使用UNION
.
作为一个简单的例子,如果我这样做
SELECT name FROM t1 WHERE field1 = true
需要 0.001 秒
如果我这样做
SELECT name FROM t1 WHERE field1 = false
它需要 0.1 秒。
如果我再跑
SELECT name FROM t1 WHERE field1 = true
UNION ALL
SELECT name FROM t1 WHERE field1 = false
它需要超过 1 秒。