OC

Knowledge OS
主帖 7 条回复

两个sql哪个效率高点?

softting softting · 2014年12月11日 · 阅读 2 · 更新于 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 条
#2
Gavin
2014年12月11日

话说自己看执行时间,就能知道效率了啊.

#3
softting
2014年12月11日

2楼 @Gavin 我觉得我得造好几十万好几百万个数据才能造试出来相差的时间。。。。其他方法有么?我不会-。-

#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
登录 或者 注册