[英]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.