两个sql哪个效率高点?
softting
由 softting
发布于 2014年12月11日
| 更新于 2014年12月11日
无人欣赏。
表A(用户) 1对多 表B(收费记录)
id id
name Aid
money
现要查询表A每个用户的收费总和
sql1:
select
A.id
A.name
(select sum(B.money) from B where B.Aid = A.id) sumMoney
from A
sql2:
select
A.id
A.name
tab.sumMoney
from A left join (select sum(B.money) sumMoney,B.Aid from B group by B.Aid) tab on tab.Aid = A.id
sql1 和sql 2 哪个效率高点?
共7条回复
楼长
·
softting
回复于 2014年12月11日
sql2 后面有一段没有接上-。-
2楼
·
Gavin
回复于 2014年12月11日
话说自己看执行时间,就能知道效率了啊.
4楼
·
吕侯
回复于 2014年12月11日
看不懂你写的什么。要我写是这样:
select a.id, a.name, sum(b.money) as sum where a left join b on a.id = b.aid group by a.id
5楼
·
snoopy
回复于 2014年12月11日
用表连接效率应该高点
6楼
·
贵人
回复于 2014年12月11日
目测sql2效率更高
7楼
·
梦中醒不过来
回复于 2014年12月11日
sql1是A次查询 sql2是a*b的大表关联后1次查询 显而易见是sql2快