Каков синтаксис для принудительного использования индекса для соединения в MySQL

использование "FORCE/USE/IGNORE INDEX" при выполнении простого выбора хорошо документировано, но из документации не ясно, как это сделать для соединения.

Как заставить конкретный индекс использоваться для объединенной таблицы?

1 ответов


FORCE/USE / IGNORE идет после имени таблицы, к которой вы присоединяетесь, и после псевдонима, если вы его используете.

SELECT
  t1.`id` AS `id_1`,
  t2.`id` AS `id_2`
FROM
  `table1` t1
LEFT OUTER JOIN
  `table2` t2
  FORCE INDEX FOR JOIN (`table1_id`)
  ON (t2.`table1_id` = t1.`id`)