У меня есть запрос, который выглядит так:
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 = 'что-то' или те, в которых нет записи в table_b для строки в table_a.
Когда я добавляю значение IS NULL, выполнение запроса занимает около 60 секунд против 0,4 секунд без него.
Кто-нибудь может объяснить это поведение?
я думаю, что IS NULL отрицает некоторую оптимизацию, но я не совсем уверен.