Зависит ли производительность INNER JOIN от порядка таблиц?

вопрос внезапно пришел мне на ум, когда я настраивал одну хранимую процедуру. Позвольте спросить ... --3-->

у меня есть две таблицы table1 и table2. таблица1 содержит огромные сведения и table2 содержит меньше данных. Есть ли разница в производительности между этими двумя запросами (я меняю порядок таблиц)?

запроса query1:

SELECT t1.col1, t2.col2
FROM table1 t1
INNER JOIN table2 t2
ON t1.col1=t2.col2

Query2:

SELECT t1.col1, t2.col2
FROM table2 t2
INNER JOIN table1 t1
ON t1.col1=t2.col2

мы используем Microsoft SQL server 2005.

1 ответов


псевдонимы и порядок таблиц в соединении (при условии, что это INNER JOIN) не влияет на конечный результат и, следовательно, не влияет на производительность, так как заказ заменяется (при необходимости) при выполнении запроса.

вы можете прочитать еще несколько основных понятий о реляционной алгебре здесь: http://en.wikipedia.org/wiki/Relational_algebra#Joins_and_join-like_operators