Я недавно заметил, что выполнение запроса со многими объединениями требует гораздо большего времени выполнения, чем выполнение этих объединений один за другим. Чтобы быть более конкретным:SQL (tsql) - присоединение
SELECT a.*, b.A, c.A, d.A
FROM a
LEFT JOIN
b
on a.A = b.A or a.B = b.A
LEFT JOIN
c
on a.A = c.A or a.B = c.A
LEFT JOIN
d
on a.A = d.A or a.B = d.A
Принимает космическое количество времени, чтобы закончить, делая каждый шаг присоединиться и сохранить его в таблицу, занимает очень короткое время. Весь этот запрос работал как 1: 30h и не был близок к завершению, в то время как (((a-> b) -> c) -> d) выполнялся в целом как 3 минуты.
В чем причина этого, может ли кто-нибудь помочь?
Пожалуйста, отредактируйте ваш вопрос и объясните немного лучше вариант, который работал быстрее для вас. – JotaBe