【发布时间】:2011-07-17 03:27:35
【问题描述】:
我需要编写一个需要处理存储在数据库中的大量数据(100 000 条记录)的 c# 服务(可以是 Windows 服务或控制台应用程序)。 处理每条记录也是一个相当复杂的操作。作为处理的一部分,我需要执行大量插入和更新。
我们使用 NHibernate 作为 ORM。
一种方法是加载所有记录并按顺序处理它们……这可能会很慢。 我正在研究多线程选项,并正在考虑让多个线程同时处理记录块。
任何人都可以给我一些关于我应该如何处理这个问题的建议。考虑到我正在使用 NHibernate 以及像死锁等可能的陷阱是什么
非常感谢。
【问题讨论】:
-
无关紧要的小问题——你的问题不是真正的“C#”问题,所以我可能会删除那个标签;并且由于您提到了 NHibernate 并且由于问题的性质,我可能会将其添加为标签。如果你想表达你在 .NET 中,请添加一个 .NET 标签。
-
谢谢..点了:)
-
您将处理过的数据存储在哪里? 100,000 条单独的更新语句将杀死您的数据库。
-
任何带有完整源代码示例的解决方案?
标签: .net multithreading nhibernate large-data-volumes