MySQL LEFT JOIN和IS NULL

时间:2012-03-06 20:57:11

标签: mysql left-join isnull

我的查询是这样的:

SELECT * 
FROM table_a
LEFT JOIN table_b ON table_a.id_a = table_b.id_a
WHERE
table_b.field = 'something' OR table_b.field IS NULL

我想拥有table_b.field ='something'的记录,或者table_b中对于table_b中的行没有记录的记录。 当我添加IS NULL时,查询大约需要60秒执行,而没有它需要0.4秒。

任何人都能解释这种行为吗? 我认为IS NULL否认了一些优化,但我不完全确定。

1 个答案:

答案 0 :(得分:1)

你在Table_b中的Field上有索引吗?如果它在连锁索引中,请确保它是第一个。