使用UNION ALL语句替代OR后,执行时间反而更长了,而且多了许多数据:
SELECT * FROM A WHERE ORDERID='001' OR ORDERID='002' --执行了7秒
SELECT * FROM A WHERE ORDERID='001' UNION ALL SELECT * FROM A WHERE ORDERID='002'--执行了13秒
而用UNION后,执行时间并没有缩减,虽然数据条数是一样的。
...全文
6509打赏收藏
使用UNION代替OR并不能得到优化的原因
使用UNION ALL语句替代OR后,执行时间反而更长了,而且多了许多数据: SELECT * FROM A WHERE ORDERID='001' OR ORDERID='002' --执行了7秒 SELECT * FROM A WHERE ORDERID='001' UNION ALL SELECT * FROM A WHERE ORDERID='002'--执行了13秒 而用UNION后,执行时间并没有缩减,虽然数据条数是一样的。