Это зависит от вашего условия where
, но краткий ответ - yes
.
Обычно в левой таблице этот столбец будет иметь первичный ключ, который по умолчанию является индексом.Второй столбец будет внешним ключом, и, вероятно, ваши запросы получат выгоду от индекса, добавленного для этого столбца.Вам нужно проанализировать ваш запрос, чтобы точно сказать, нужен ли вам индекс.
Допустим, запрос выглядит так:
SELECT *
FROM left_table
INNER JOIN right_table ON
left_table.foo = right_table.bar
WHERE left_table.SomeField = 1
Индекс на right_table.bar
обязательно будет использован,
С другой стороны:
SELECT *
FROM left_table
INNER JOIN right_table ON
left_table.foo = right_table.bar
WHERE right_table.SomeField = 1
В этом случае индекс для right_table.bar
не будет использоваться вообще, но индекс для left_table.foo
будет использоваться.