【发布时间】:2010-10-31 14:58:46
【问题描述】:
sql server 上的Deletes 有时很慢,我经常需要优化它们以减少所需的时间。
我一直在谷歌上寻找有关如何做到这一点的提示,并且我发现了各种建议。
我想知道你最喜欢和最有效的驯服删除野兽的技术,以及它们的工作方式和原因。
到目前为止:
确保外键有索引
确保条件被索引
使用
WITH ROWLOCK销毁未使用的索引,删除,重建索引
现在,轮到你了。
【问题讨论】:
-
给高级用户的问题:这个问题没有单一的答案,更像是一种知识库,而不是简单的问答。可能它可以变成一个社区维基? (如果我很了解 c.w. 的用途)
-
我希望将其视为一个持续的总结。这篇文章对我非常有用,但花了几个小时来阅读这些建议。我提交了一个带有新摘要的编辑,但被拒绝了,正在等待第二次尝试是否通过:)
-
@xero 我回滚了您的编辑,您可能会在阅读 Should the community wiki police be shut down?What can we do to make Community Wiki better? 和 meta.stackoverflow.com/a/266921 后标记管理员以引起注意(使用其他)
-
@bummi - 啊,在阅读了这些之后,我认为最好做一个 CW 回答而不是问题本身。我将为此发布一个摘要答案,并让社区参与其中。感谢您的跟进
-
有助于减少删除时间的参数之一是 SET NOCOUNT ON;
标签: sql sql-server