首页新闻找找看学习计划

一个SQL语句性能问题

0
悬赏园豆:5 [已解决问题] 解决于 2015-06-11 16:54

select * from (select * from X a inner join Y b on b.MyId = a.Id)t where Id = 1

select * from X a inner join Y b on b.MyId = a.Id where a.Id = 1

以上第一条语句是不是比第二个慢?

会不会跟DB的优化有关,比如SQL Server会不会把第一句优化为第二句?

灰灰狼的主页 灰灰狼 | 初学一级 | 园豆:5
提问于:2014-11-06 10:52
< >
分享
最佳答案
0

可以把两句代码都放到查询窗口,然后右击空白处-》显示估计的执行计划,一下子就告诉你两条语句占用的查询百分比,占用少的胜。

收获园豆:2
happydaily | 小虾三级 |园豆:581 | 2014-11-06 11:16
其他回答(3)
0

两条其实速度差不多,主要拖时间的是 select * , 改成你要的字段就快很多了

收获园豆:1
tao5310 | 园豆:203 (菜鸟二级) | 2014-11-06 18:34
0

和你的表的大小有关,先大表后小表

收获园豆:1
风醉 | 园豆:1197 (小虾三级) | 2014-11-07 11:35
0

select *比较耗,然后看执行计划,你就知道哪里慢了

收获园豆:1
aries_gold | 园豆:141 (初学一级) | 2014-11-10 10:33
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册