SQL的效率

时间:2012-10-10 08:31:18

标签: 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 myType readonly
as
 update tb
 set pp_update=CONVERT(date,GETDATE(),101)
 from myTable tb
 where t.crc32 = tb.pp_crc32

更喜欢什么?如果我有2个术语,我可以使用join ??

1 个答案:

答案 0 :(得分:1)

我认为您在第二个查询时出现拼写错误。也许你的意思是

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(旧的)语法。