更好的是:WHERE n = 0或WHERE n!= 1

时间:2017-11-17 13:53:59

标签: mysql

我做了很多次查询,几乎总是在Mysql DB中隐藏“隐藏”状态的条件。

一件是这样的:

...
WHERE `price` >= '7500'
AND `ads`.`subcat_id` = '22'
AND `recycle_bin` != 1
AND `hidden` =0
...

所以,一个想法进入我的脑海......什么是最优的? 这样:

AND `recycle_bin` != 1

或者这个:

AND `recycle_bin` = 0

或两者兼而有之?

2 个答案:

答案 0 :(得分:1)

通过测试,您可以了解经过的时间是相同的,但CPU时间有所不同。对于行数约为10k的表:

SELECT * FROM table where field = 0;

返回 CPU时间= 15 ms,经过时间= 32 ms。 如果你这样做:

SELECT * FROM table where field != 1;

返回 CPU时间= 31 ms,已用时间= 32 ms

答案 1 :(得分:0)

在我看来,它没有任何区别,两种选择都是最佳和有效的,我认为这更像是个人偏好