两个简单的sql ,哪种效率高点?

mamba10 2014-12-11 10:53:29
...全文
330 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
猿人林克 2014-12-12
  • 打赏
  • 举报
回复
明显第二中效率高,提高你B表的数据量,预计100W以上,差距能有一个数量级
qzw1210 2014-12-11
  • 打赏
  • 举报
回复
按常规第二种效率更好点
qzw1210 2014-12-11
  • 打赏
  • 举报
回复
按常规第二种效率更好点
yutaoaijingjing132 2014-12-11
  • 打赏
  • 举报
回复
你可以 explain 下看看
asd576926596 2014-12-11
  • 打赏
  • 举报
回复
数据量大的用第二种了,少点可考虑第一种
dollarne 2014-12-11
  • 打赏
  • 举报
回复
你好,你列出的这两种,第一种是SQL的子查询方法,第二种属于SQL的表联合查询。我在工程中是使用表联合更加习惯,为什么呢,因为它不容易出错误,而且,如果从效率上来讲,第二种的效率是要比第一种高很多的,第一种占用内存,CPU都会比较多。当然子查询也有它不可替代之处,这里就不多讲了。有问题可以追问
  • 打赏
  • 举报
回复
第二种,数据量大就能测试出速度了。。
mamba10 2014-12-11
  • 打赏
  • 举报
回复
引用 4 楼 whos2002110 的回复:
如果是mysql的话, 不需要子查询 select a.id,a.name,sum(b.money) from a left join b on a.id = b.Aid group by a.id; 这个不是标准的group by 语句
这个和第二种好像, 一种是先groupby 再leftjoin 这种先leftjoin 再groupby。 其实我数据量很小, 就是想知道哪个会更好一点。。。现在3中sql了 -。-
whos2002110 2014-12-11
  • 打赏
  • 举报
回复
如果是mysql的话, 不需要子查询 select a.id,a.name,sum(b.money) from a left join b on a.id = b.Aid group by a.id; 这个不是标准的group by 语句

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧