2015-07-31 5 views
-2

Пример присоединиться к 4 или более таблицОбъединение нескольких различных таблиц в MySQL

t1 - f1,f2,f3 
t2 - f1,f4,f5 
t3 - f4,f6,f7,f8 
t4 - f8,f9 

t1, t2, t3, t4 4 таблицы и п ... являются соответствующие поля. Пожалуйста, предложите запрос соединения, который оптимизирован для вычислений и памяти. Например; Я хочу знать, сколько f2 X f4 X f7 X f8.

Выполняет ли порядок соединения таблиц и размеров таблиц с синтаксисом sql?

Я искал несколько форумов и где-то внутреннее соединение используется, а UNION и где-то подпрограммы.

Пожалуйста, объясните с помощью синтаксиса MySQL.

+0

RTFineM: [Оптимизация операторов SELECT] (https://dev.mysql.com/doc/refman/5.6/en/select-optimization.html). – philipxy

ответ

0

Просто напишите все соединения один за другим.

SELECT COUNT(*) 
FROM t1 
JOIN t2 ON t1.f1 = t2.f1 
JOIN t3 ON t2.f4 = t3.f4 
JOIN t4 ON t3.f8 = t4.f8 

Порядок присоединений не должен иметь значения. Убедитесь, что у вас есть индексы для всех столбцов, используемых в условиях ON.

+0

Чтобы добавить к ответу @ Barmar, взгляните на доступные типы соединений, чтобы вы поняли, какого типа соединения вы можете использовать, у них есть другое поведение в зависимости от того, что вы ищете. –

Смежные вопросы