Множественный выбор против левого соединения - PullRequest
0 голосов
/ 28 января 2019

У меня есть запрос с двумя различными формами выполнения, я пробовал оба, но первый быстрее, чем другие, однако я прочитал, что подзапросы хороши для производительности, тогда я хочу знать, почему первый былвыполняется за меньшее время, и что является лучшим вариантом.

У меня есть запрос к:

    SELECT count(*) as cantProductos,
(select count(*) from Table2 
    join Table1 on Table2.idT=Table1.idT
    where Table2.state=3
) as cant1,
(select count(*) from table2 
    join otherTable
    where otherTable.origin=10
) as cant2 FROM Table1 WHERE Table1.state=1

Но я изменяю с этим

SELECT SUM(CASE WHEN  Table1.state=1 THEN 1 ELSE 0 END) cantProducts
SUM(CASE WHEN table2.state=3 THEN 1 ELSE 0 END) as cant1,
SUM(CASE WHEN otherTable.origin=10 THEN 1 ELSE 0 END) as cant2 
FROM Table1
LEFT JOIN  table2 on Table2.idT=Table1.idT
LEFT JOIN  otherTable on 0=0

Спасибо заваше объяснение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...