select * from table where column1 < 1000 union select * from table where column2 > 1000
select * from table where column1 < 1000 or column2 > 1000
这俩有什么区别?
(这会儿没在电脑跟前,按感觉两个的结果应该是一样的)
select * from table where column1 < 1000 union select * from table where column2 > 1000
select * from table where column1 < 1000 or column2 > 1000
这俩有什么区别?
(这会儿没在电脑跟前,按感觉两个的结果应该是一样的)
4 回答1k 阅读✓ 已解决
8 回答1.2k 阅读
3 回答990 阅读✓ 已解决
2 回答1.7k 阅读
1 回答823 阅读✓ 已解决
2 回答979 阅读
2 回答1k 阅读
UNION
会让 mysql 查询table
两次,并且将结果集再进行一次合并。如果结果集比较大,mysql 还会用到外存储的临时表来将两个结果集暂存、合并、输出。用
OR
就永远不会有这个问题,最多就是做一次查询,所以它一定会优于UNION
。P.S. 真爱生命,远离
UNION
。