LINUX.ORG.RU

вот блин из пушки по воробьям. сам разлбрался

select t1.id, sum(t1.val) from t1, t2 where t1.id=t2.id group by t1.id;

x86 ★★
() автор топика
Ответ на: комментарий от x86

select t1.id, sum(t1.val) from t1 join t2 on t1.id=t2.id group by t1.id;
так будет быстрее если у тебя индексы юзаются. и особенно форейн кеи в postgres. не уверен но для мускуля наверное тоже кашернее Ж)

godexsoft
()
Ответ на: комментарий от godexsoft

Быстрее не будет
Конструкция
select * from t1, t2 where t1.key = t2.key
эквивалентна
select * from t1 join t2 on t1.key = t2.key

Кстати, думается что в постгресе аналогично должно быть.

roller ★★★
()
Ответ на: комментарий от roller

Это только когда нету foreign key / indexes.
Left join с индексами и кеями самое быстрое, сам только что сталкивался с этим, тестил на postgres.

godexsoft
()
Ответ на: комментарий от godexsoft

в MySQL (по крайней мере в 5.0.2 было так, в исходниках функция JOIN::optimize) t1.id=t2.id из join переносилось в where

vadiml ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.