c# - 如何通过 c# 从 1400 万个表中删除 100,000 个特定行?
问题描述
我有两个文本文件,每行都包含字符串。我比较这些文本文件以查找哪些字符串已添加,哪些已删除。
每天大约有 100,000 个字符串被添加,100,000 个字符串被删除。
我目前使用 System.Data.SqlClient.SqlBulkCopy 添加新行。这会在大约 1 秒内添加 100,000 个新行。
但是,我看不到删除行的类似方法。我有 100,000 个字符串要从 1400 万行的表中删除。即使尝试使用 IN (x,x,x,x) 一次性删除 5000 也会导致一分钟后超时。
c# 中是否有一种有效的方法来删除这些字符串?
解决方案
您可以在另一个表中插入要删除的字符串。
然后使用delete
连接到该表的查询一次将它们全部删除。
delete t
from your_table t
join helper_table h on t.name = h.name
推荐阅读
- android - 如何在颤振应用程序中的特定日期和时间更新 sqflite 数据库中的表记录?(Android)
- javascript - 在使用 php for 循环生成 div 并为它们动态分配 id 之后,我如何使用 jquery 定位 id?
- c - 使用c的循环链接列表程序
- r - 有没有办法根据松散的不同来选择行?
- c++ - 模板值和参数包的 C++ 概念
- r - Montecarlo Simulation using R(如何“翻译”R的Stata代码)
- python - Discord.py:将元素分配给变量时列表索引超出范围
- memory-management - 三.js内存分配&工作流问题
- python - 为什么我收到 Pyinstaller FileNotFoundError: [Errno 2] No such file or directory:
- c# - ContextMenuStrip.Show 一半时间不工作