Подтвердить что ты не робот

Производительность Внутренней Присоединения к Декартовому продукту

Возможный дубликат:
Явное vs неявное объединение SQL

Я хочу знать разницу в производительности

select * from A,B,C where A.x = B.y and B.y = C.z

и

select * from A INNER JOIN B on A.x = B.y INNER JOIN C on B.y = C.z

В принципе, я хочу знать, работает ли внутреннее соединение лучше, чем декартовый продукт? Кроме того, во внутреннем соединении происходит декартовость продукта, выполняемого внутри?

4b9b3361

Ответ 1

Прежде всего, эти два Операции предназначены для двух разных целей. В то время как Cartesian Product дает вам результат, связанный с каждой строкой из одной таблицы в каждую строку в другой таблице. в то время как внутреннее соединение (иногда называемое простым соединением) является объединение двух или более таблиц, которые возвращают только те строки, которые удовлетворяют условию объединения.
Теперь приходя к тому, что вы здесь Написано здесь:
В случае декартова произведения Сначала создается таблица, состоящая из A, B, C, и после этого на основании того, что когда-либо было задано, получаем результат. Но, как вы видите, это тяжелый процесс. С другой стороны, внутреннее соединение выбирает только те результаты, которые действительно выполняют данное условие. Это лучшее решение для достижения конечных результатов.
Первый - это злоупотребление языком SQL.