select *
from Dummy LEFT JOIN data_stream_2
ON ((Dummy.id_2=data_stream_2.id_2) OR
(Dummy.id_2 IS NULL and data_stream_2.id_2 IS NULL))
Этот запрос занимает 26 секунд. В тот момент, когда я удаляю проверку IS NULL, то естьПроизводительность: Влево JOIN с условием NULL соединения в SQLite
select *
from Dummy LEFT JOIN data_stream_2
ON ((Dummy.id_2=data_stream_2.id_2))
занимает всего 1,3 секунды. Как ускорить запрос? Это похоже на этот случай Slow query with left outer join and is null condition, но разница в его случае не требовалась, так как он использовал только столбцы из Dummy, а не из data_stream_2. Мне нужны столбцы из обоих.
Можете ли вы показать нам некоторые данные образца? Можете ли вы отличить «NULL» от отсутствия совпадения в соединении и фактическое значение «NULL»? –
Вы уверены, что вы сравниваете эффективность правильно? Например, вы пытались выдать каждый запрос несколько раз в разных заказах. Возможно, вы ищете не то место. – Thinkeye
Да, я уверен. SQLite Manager показывает время в секундах – user584263