Я пытаюсь объединить две большие таблицы, используя два поля VARCHAR (255).INNER JOIN with VARCHAR между двумя большими таблицами MySQL
tbl1 получил 100.000 строк - InnoDB
tbl2 получил 1.200.000 строки - InnoDB
В столбце "artno" индексируются в обеих таблицах.
Мой запрос выглядит следующим образом:
SELECT tbl1.id
FROM tbl1
INNER JOIN tbl2 ON tbl2.artno = tbl1.artno AND tbl2.brand = tbl1.brand
Этот запрос занимает около 20 секунд для запуска.
Каков наилучший способ присоединиться к столам на VARCHAR?
Могу ли я увеличить производительность для моего запроса каким-либо образом?
запрос в порядке. Вы должны создать правильные индексы в своей таблице. – Jens
И как должны выглядеть индексы? На данный момент в обеих таблицах есть два «одиночных» индекса для artno. – hgerdin
Используйте «Объясните», чтобы узнать, какой из них вам нужен. Я думаю, вам нужен один для обоих столбцов. – Jens