Мне нужно написать службу С# (это может быть служба Windows или консольное приложение), которая должна обрабатывать большие объемы данных (100 000 записей), хранящихся в базе данных. Обработка каждой записи также является достаточно сложной операцией. Мне нужно выполнить много вставок и обновлений как часть обработки.
Мы используем NHibernate в качестве ORM.
Один из способов — загружать все записи и обрабатывать их последовательно... что может оказаться довольно медленным. Я рассматривал варианты многопоточности и думал о том, чтобы несколько потоков одновременно обрабатывали фрагменты записей.
Может ли кто-нибудь дать мне несколько советов о том, как я должен подходить к этому ... учитывая, что я использую NHibernate и каковы возможные ошибки, такие как тупик и т. Д.
Большое спасибо.