select * from table where column1 < 1000 union select * from table where column2 > 1000
select * from table where column1 < 1000 or column2 > 1000
这俩有什么区别?
(这会儿没在电脑跟前,按感觉两个的结果应该是一样的)
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
UNION会让 mysql 查询table两次,并且将结果集再进行一次合并。如果结果集比较大,mysql 还会用到外存储的临时表来将两个结果集暂存、合并、输出。用
OR就永远不会有这个问题,最多就是做一次查询,所以它一定会优于UNION。P.S. 真爱生命,远离
UNION。