c# - 如何从具有 1000 万行的数据表中获取不同的行?

标签 c#

我正在从 XML 文件读取数据,我的 xml 文件包含超过 1000 万行。 我的 XML 文件包含重复的行。我想从 xml 中区分行并将其插入数据库。

我尝试使用: string myXMLfile = System.Configuration.ConfigurationSettings.AppSettings.Get("ReadFilePath").ToString();

 System.IO.FileStream fsReadXml = new System.IO.FileStream(myXMLfile, System.IO.FileMode.Open);
 数据集 dsFileRecords = new DataSet();
 dsFileRecords.ReadXml(fsReadXml);

DataTable dtUniqRecords = dt.DefaultView.ToTable(true, "ID","Name");

//从 Datatable(dtUniqRecords) 向数据库插入行

但是这种方法很费时间。还有其他获取不同行的方法吗?

最佳答案

如果数据库是基于 SQL 的,您可以使用 SELECT DISTINCT。这将比您在 C# 中执行的任何操作都快得多。

编辑:您真的无能为力。如果可行,切换到嵌入式 DBMS(例如 SQLite)是您的最佳选择。

关于c# - 如何从具有 1000 万行的数据表中获取不同的行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17448711/

相关文章:

c# - 如何使用滚动从 WPF DataGrid 中获取所有行

c# - 我们可以将对象数据源控件分配给数据集吗?

c# - 立方体上的 opentk 多个纹理不起作用

c# - 发送HTTP header 后,服务器无法设置状态-ELMAH

当我失去互联网时,C# MySQL 连接失败

c# - 如何控制和调整Windows 7 中的音量?

c# - .NET 7 速率限制 - 按 IP 地址进行速率限制

c# - 如何使用 Entity Framework Code First V6.1.2 进行集成测试

c# - ITextSharp 添加页码到合并的 pdf 中

c# - 如何将十进制值四舍五入为带零的提取小数点