请问.效率问题

igelf 2008-09-26 01:29:47
Select [user].id,profile.name
from [user] left join profile on [user].id=profile.userid
------------------------------------------------
Select [user].id,(select name from profile where userid=[user].id)as name
from [user]
上面两种哪个效率会高点.

还有如果多个哪个效率高.
Select
[user].id,
profile.name,
profile.name2
from [user] left join profile on [user].id=profile.userid
------------------------------------------------
Select
[user].id,
(select name from profile where userid=[user].id)as name ,
(select name2 from profile where userid=[user].id)as name2
from [user]


...全文
79 11 打赏 收藏 举报
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
LeeeeSin 2008-09-26
当然是前者.
  • 打赏
  • 举报
回复
igelf 2008-09-26
[Quote=引用 8 楼 Haiwer 的回复:]
首先,第二个在一对多的时候会出错
其次,如果两个字段或者以上,前者效率高
再次,如果一个字段,自动优化后的执行计划是一样的
[/Quote]
那第二种方法可以抛弃了.反正会自动优化.
  • 打赏
  • 举报
回复
Garnett_KG 2008-09-26

好像是方法1稍好一些哎.

方法2存在报错可能(执行计划内有判断的操作),这个应该会消耗掉一些性能.

数据量不大的时候应该不明显.两者差不多.
  • 打赏
  • 举报
回复
首先,第二个在一对多的时候会出错
其次,如果两个字段或者以上,前者效率高
再次,如果一个字段,自动优化后的执行计划是一样的
  • 打赏
  • 举报
回复
igelf 2008-09-26
两张表关系是一对一的.

  • 打赏
  • 举报
回复
igelf 2008-09-26
[Quote=引用 3 楼 dobear_0922 的回复:]
Select [user].id,profile.name
from [user] left join profile on [user].id=profile.userid
------------------------------------------------
Select [user].id,(select name from profile where userid=[user].id)as name
from [user]
上面两种哪个效率会高点.


--------------
如果一个ID对应一个NAME,下面的效率高一些,否则两个查询不等价
[/Quote]
是一个id对应一个name啊.还有如果还要查询name2 到底哪个效率高啊.
  • 打赏
  • 举报
回复
qinhl99 2008-09-26
我基本认为是前者
但是不是和user表中数据(相对 profile)多少有关系呢?得研究下
  • 打赏
  • 举报
回复
zoujp_xyz 2008-09-26
好像差不多
连接查询好点
  • 打赏
  • 举报
回复
dobear_0922 2008-09-26
Select [user].id,profile.name
from [user] left join profile on [user].id=profile.userid
------------------------------------------------
Select [user].id,(select name from profile where userid=[user].id)as name
from [user]
上面两种哪个效率会高点.


--------------
如果一个ID对应一个NAME,下面的效率高一些,否则两个查询不等价
  • 打赏
  • 举报
回复
fzcheng 2008-09-26
方法1
  • 打赏
  • 举报
回复
中国风 2008-09-26
方法1
  • 打赏
  • 举报
回复
相关推荐
发帖
MS-SQL Server
加入

3.3w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
帖子事件
创建了帖子
2008-09-26 01:29
社区公告
暂无公告