[英]Export more than 100,000 rows from wpf datagrid to Excel - C# Microsoft.Office Interop 14
[英]How can I delete 100,000 specific rows from a table of 14 million via c#?
我有两个文本文件,每行都包含字符串。 我比较这些文本文件以查找哪些字符串已添加,哪些已删除。
每天大约有 100,000 个字符串被添加,100,000 个字符串被删除。
我目前使用 System.Data.SqlClient.SqlBulkCopy 添加新行。 这会在大约 1 秒内添加 100,000 个新行。
但是,我看不到删除行的类似方法。 我有 100,000 个字符串要从 1400 万行的表中删除。 即使尝试使用 IN (x,x,x,x) 在一个 go 中删除 5000 也会导致一分钟后超时。
c# 中是否有有效的方法来删除这些字符串?
您可以在另一个表中插入要删除的字符串。
然后使用连接到该表的delete
查询一次将它们全部删除。
delete t
from your_table t
join helper_table h on t.name = h.name
是的,我过去也有同样的经历。 我提供部分删除,否则你每次都会有很大的可怕。
您可以部分执行 SQL 示例。
--Example 读取第一个 2.000(您的选择)记录并执行删除
using (StreamReader sr = File.OpenText(filepath))
{
List<string>lines;
while ((string line = sr.ReadLine()) != null)
{
lines.Add(line);
lineCount++;
if(lineCount%2000==0)
{
Execute Delete Here
lines.Clear(); //dont forget.
}
}
Execute rest of lines delete//
}
对于第二个选项,我可以在 SQL 上提供 BATCH 删除:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.