关于SQL查询的效率问题

南风_ 发布于 2018/03/28 17:34
阅读 174
收藏 0

入职新公司,接收一个半成品项目,继续开发。

看代码看的有些疯了已经。

举个例子:

联合查询表tableA与表tableB ,需要查询A表的a,b两个字段和B表的e字段

正常我是这么写

SELECT  
A.a,
A.b,
B.e
FROM    tableA A
LEFT JOIN tableB B ON A.id = B.id

但是现在代码里SQL这么写的:

SELECT  A.a ,
        A.b,
        (SELECT B.e FROM  tableB B WHERE A.id=B.id) e
FROM    tableA A 

 

我想问下这两种写法在执行效率上哪个更快呢。虽然知道能这么写 但不是很理解这种写法,求个大佬告知

加载中
0
东君
东君

EXPLAIN看看,具体我还真没了解过……我也学习下……

0
魔力猫
魔力猫

一般情况下,绝大多数都是你们现在的写法糟糕,无论哪个数据库。只能说这年头要找一个SQL合格的程序员,真是太难太难。爬都不会就跑的太多,肯踏实按照规范分析设计的太少。

0
坚强的小二

join 合理一点。第二种sql 使用的是子查询,会导致重复的全表扫描,而且无法使用索引。

如果数据量特别小,没什么区别,数据量一旦多了第二种子查询的方式特别容易拖夸整个数据库。

南风_
南风_
了解 谢谢
返回顶部
顶部