我的查询是这样的:
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否认了一些优化,但我不完全确定。答案 0 :(得分:1)
你在Table_b中的Field上有索引吗?如果它在连锁索引中,请确保它是第一个。