【发布时间】:2011-08-11 13:21:26
【问题描述】:
我有一个包含超过 3000000 个条目的表,我需要删除其中的 500000 个具有给定 ID 的条目。 我的想法是创建如下查询:
DELETE FROM TableName WHERE ID IN (id1, id2, ...........)
我使用简单的 C# 代码生成。 问题是: 我可以在 ID 数组中设置多少个值有限制吗?
如果有人有更好的方法来更有效地实现此删除,我愿意接受想法。
【问题讨论】:
-
嗯...它没有足够的内存来处理该查询
-
你的 C# 代码如何确定 id 列表?如果可以在 T-SQL 中将其指定为 where/have 子句和/或子查询的组合,这可能是更好的方法。
-
C# 代码正在从数据源(XML 文件)中提取 id,所有这些都有条件。
标签: sql-server-2008 sql-delete where-in