我有一个简单的行,我使用LINQ编辑.它有大约30列,包括主键数字序列.
当通过LINQ执行UPDATE时,UPDATE语句包括表的所有列(用于并发检查).
我想知道这是多么低效 - 如果不是无聊的话.由于主键上有索引,我假设该列用于初始行搜索,然后另外检查其他字段.我不会想到这将花费的时间可以忽略不计.
我问的原因是我在某些情况下看到这个UPDATE接管了一秒钟,这似乎不对.可能还有其他长期运行的事情正在发生,但这让我很好奇我是否应该担心.
我知道我可以将'UpdateCheck'设置为永远不会用于所有其他字段,但这很痛苦.
有没有办法关闭单个SubmitChanges()的'Update Check',或者我必须通过为每个字段更改'UpdateCheck'来实现.
任何意见,将不胜感激.
这是SQL更新:
exec sp_executesql N'UPDATE [dbo].[SiteVisit]
SET [TotalTimeOnSite] = @p12, [ContentActivatedTime] = @p13
WHERE ([SiteVisitId] = @p0) AND ([SiteUserId] IS NULL) AND ([ClientGUID] = @p1) AND ([ServerGUID] IS NULL) AND ([UserGUID] = @p2) AND ([SiteId] = @p3) AND ([EntryURL] = @p4) AND ([CampaignId] = @p5) AND ([Date] = @p6) AND ([Cookie] IS NULL) AND ([UserAgent] = @p7) AND ([Platform] IS NULL) AND ([Referer] = @p8) AND ([KnownRefererId] = @p9) AND ([FlashVersion] …