У меня есть широкий вопрос относительно множественных объединений в teradata.Что на самом деле происходит с несколькими заявлениями о соединении?
Например, у меня: table1, table2, table3, table4. Я хочу сделать INNER JOIN
для всех из них
Итак:
SELECT a.*, b.*, c.*, d.*
FROM table1 a
JOIN table2 b ON a.acct_ID = b.acct_ID
JOIN table3 c ON a.acct_ID = c.acct_ID
JOIN table4 d ON a.acct_ID = d.acct_ID
Так что здесь происходит то, что каждый раз, когда объединение происходит, временная таблица создается в этой последовательности (((table 1+ table 2)+table 3)+table 4)
?
Должен ли оператор on быть b.acct_ID = c.acct_ID
и c.acct_ID = d.acct_ID
для того, чтобы оператор был эффективным, или это не влияет на временную таблицу?
оставьте это до DB Engine. Если вы не получаете желаемую производительность, рассмотрите оптимизацию. Если вы попытаетесь оптимизировать, вы знаете, что у вас есть проблема. Это похоже на попытку попасть в движущуюся целевую задачу ... насколько хорошо это хорошо ... Теперь, если вы ЗНАЕТ, производительность плохая, посмотрите на планы выполнения и выясните, что лучше. – xQbert