【发布时间】:2015-04-30 14:36:24
【问题描述】:
我希望有人可以帮助我。我有一个简单的sql语句
delete from sometable
where tableidcolumn in (...)
我有 500 条记录要删除并重新创建。该表最近增长到超过 1 个工厂记录。问题是上面的语句需要超过 5 分钟才能完成。我有一个主键和 2 个非聚集非唯一索引。我的删除语句正在使用主键。
谁能帮我理解为什么这个语句需要这么长时间以及如何加快速度?
【问题讨论】:
-
可能是级联关系?还是删除触发器?
-
in(...)列表中的值来自哪里?另一个查询还是硬编码?你可以更新而不是删除/创建吗? -
选择它们需要多长时间?
SELECT 1 FROM sometable where tableidcolumn in (...)? -
您尝试过使用 FORCESEEK 吗?
-
发布执行计划。
标签: sql sql-server sql-server-2008 sql-delete