SQL中的效率
效率更高的是:使用SQL中的效率,sql,Sql,效率更高的是:使用join进行更新,或者使用where进行更新 这是我的密码: 加入: CREATE procedure [dbo].[MyProc] @tvp myType readonly as update tb set pp_update=CONVERT(date,GETDATE(),101) from myTable tb join @tvp t on t.crc32 = tb.pp_crc32 其中: CREATE procedure [dbo].[MyProc] @tvp
join
进行更新,或者使用where
进行更新
这是我的密码:
加入:
CREATE procedure [dbo].[MyProc]
@tvp myType readonly
as
update tb
set pp_update=CONVERT(date,GETDATE(),101)
from myTable tb
join @tvp t on t.crc32 = tb.pp_crc32
其中:
CREATE procedure [dbo].[MyProc]
@tvp myType readonly
as
update tb
set pp_update=CONVERT(date,GETDATE(),101)
from myTable tb
where t.crc32 = tb.pp_crc32
你喜欢什么?如果我有两个术语,我可以使用
join
?我想你在第二次查询时有一个打字错误。也许你是说
CREATE procedure [dbo].[MyProc]
@tvp myType readonly
as
update tb
set pp_update=CONVERT(date,GETDATE(),101)
from myTable tb, @tvp t
where t.crc32 = tb.pp_crc32
这两个查询是相同的。唯一的问题是,第一个查询采用
ANSI SQL-92
语法,而另一个查询采用SQL-89
(旧的)语法。第二个查询不起作用,因为您尚未确定t
是什么。你真正知道的唯一方法就是分析它,但我希望两者的性能都是可比的——这是一个长期存在的问题——谢谢,如果我有两个术语,我可以使用第一种语法吗?第一种语法比第二种语法好得多,因为它比第二种语法更清晰。