Насколько неэффективны СОЕДИНЕНИЯ виртуальных таблиц?

Скажем, у меня есть такой запрос, в котором я присоединяюсь к нескольким виртуальным таблицам:

SELECT table1.a, tbl2.a, tbl3.b, tbl4.c, tbl5.a, tbl6.a
FROM table1
JOIN (SELECT x, a, b, c FROM table2 WHERE foo='bar') tbl2 ON table1.x = tbl2.x
JOIN (SELECT x, a, b, c FROM table3 WHERE foo='bar') tbl3 ON table1.x = tbl3.x
JOIN (SELECT x, a, b, c FROM table4 WHERE foo='bar') tbl4 ON table1.x = tbl2.x
JOIN (SELECT x, a, b, c FROM table5 WHERE foo='bar') tbl5 ON table1.x = tbl5.x
JOIN (SELECT x, a, b, c FROM table6 WHERE foo='bar') tbl6 ON table1.x = tbl6.x
WHERE anotherconstraint='value'

В моем реальном запрос, каждый JOIN имеет свои собственные JOIN, агрегатные функции и ограничения WHERE.

Насколько хорошо / плохо будет выполняться такой запрос? Кроме того, какова разница воздействия между этим и выполнением всех отдельных виртуальных таблиц в качестве собственного запроса и связывания результатов вместе вне SQL?

5
задан James Skidmore 30 July 2011 в 01:22
поделиться