将大量数据从 CSV(超过 300 万行)加载到数据库的最有效方法是什么。
- 数据需要格式化(例如姓名列需要拆分为名字和姓氏等)
- 我需要尽可能高效地完成这项工作,即时间限制
我支持使用 C# 应用程序逐行读取、转换和加载数据的选项吗?这是理想的,如果不是,我有什么选择?我应该使用多线程吗?
最佳答案
您将受到 I/O 限制,因此多线程不一定会使它运行得更快。
我上次这样做时,大约有十几行 C#。在一个线程中,它运行硬盘的速度与从磁盘中读取数据的速度一样快。我一次从源文件中读取一行。
如果你不想自己写,你可以试试 FileHelpers图书馆。您可能还想看看 Sébastien Lorion's work .他的 CSV 阅读器是专门为处理性能问题而编写的。
关于C# 将大量数据从 CSV 导入数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2641516/