gpt4 book ai didi

c# - MSSQL 快速更新

转载 作者:太空狗 更新时间:2023-10-30 01:22:33 25 4
gpt4 key购买 nike

我有这样的 Sql 查询:

UPDATE tProfile SET LastActivity=@DateTimeNow WHERE UserId=@UserId AND Id IN ({0})

其中 {0} - 它是一串 id,例如:

UPDATE tProfile SET LastActivity=@DateTimeNow WHERE UserId=@UserId AND Id IN (1155,1684,41368)

而且这个字符串可以有几千个 Id。

我如何才能更轻松地执行此查询,因为此查询使用 100% CPU。

我想知道一些替代品。

最佳答案

如果您的 ID 是逗号分隔列表,那么您可以使用 split function (UDF) 将它们插入到表变量中,然后更新。

DECLARE @IdTable TABLE (Id INT)
INSERT INTO @IdTable SELECT Id FROM dbo.SplitFunction(@IdList,',')

UPDATE p SET p.LastActivity = @DateTimeNow
FROM tProfile p INNER JOIN @IdTable i
ON p.Id = i.Id
WHERE p.UserId = @UserId

关于c# - MSSQL 快速更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13306820/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com