MySQL整数比较速度(= vs<>)

时间:2016-05-10 00:02:00

标签: mysql sql optimization integer comparison

我有一个字段为“活动”的表。 Active是一个索引的tinyint(4),但只包含值1或0.我知道......不是很好的设计,但我继承了这个系统来维护。

如果有帮助,此表有175277条记录。

当我跑步时:

SELECT * FROM table WHERE active = 1;

需要0.497秒。

但是当我跑步时

SELECT * FROM table WHERE active <> 0; 

(有效必须等于1会导致唯一可能的其他值。)

只需0.095秒。

我正在进行一些查询优化并注意到这一点并且想知道为什么?

1 个答案:

答案 0 :(得分:0)

解决!

如上所述,我使用EXPLAIN查看查询正在执行的操作,结果发现引擎决定为每个查询使用不同的密钥。