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
这俩有什么区别?
(这会儿没在电脑跟前,按感觉两个的结果应该是一样的)
1 回答2.5k 阅读✓ 已解决
5 回答1.5k 阅读
2 回答2.2k 阅读
3 回答2.1k 阅读
3 回答668 阅读✓ 已解决
1 回答999 阅读
1 回答673 阅读✓ 已解决
UNION
会让 mysql 查询table
两次,并且将结果集再进行一次合并。如果结果集比较大,mysql 还会用到外存储的临时表来将两个结果集暂存、合并、输出。用
OR
就永远不会有这个问题,最多就是做一次查询,所以它一定会优于UNION
。P.S. 真爱生命,远离
UNION
。