代码改变世界

mysql补集合计算

2013-10-14 18:10  Paddle Zhou  阅读(820)  评论(0编辑  收藏  举报
mysql补集计算方法:
 
两表是1对多关系,user_id是关联字段,两表的数据量都是千万级别的
 
 
  • 子查询实现
select count(*),sum(total_money) from A w
where user_id not in (
select user_id from B
)
 
耗时为75s
 
  • 表连接实现
 
select count(*),sum(total_money) from A left join B on A.user_id = B.user_id
where B.user_id is null
 
耗时39s
 
 
在mysql中,用表连接的方式计算补集,速度上更优。