У меня есть запрос с двумя различными формами выполнения, я пробовал оба, но первый быстрее, чем другие, однако я прочитал, что подзапросы хороши для производительности, тогда я хочу знать, почему первый былвыполняется за меньшее время, и что является лучшим вариантом.
У меня есть запрос к:
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
Спасибо заваше объяснение.