我需要在数据上大量运行一些算法并将每个结果存储在数据库中。
算法运行次数为80,000-90,000,每个周期大约需要2秒(只是算法)。 所以这非常耗时。
我的数据库SQL server 2008。
我想使用ado.net实体框架(对于这个任务来说这不好吗?)
现在输出数据(需要存储在DB中)是纯粹的原始(不是很大),还有一些维护列,如日期和时间。
最佳做法是什么?
每个算法完成后,逐行插入?将结果存储在内存中,工作完成后插入数据?
答案 0 :(得分:3)
首先针对所有记录运行算法后,你能不能尝试BulkInsert? 将数据导入数据库非常有效。
答案 1 :(得分:1)
您可以使用SqlBulkCopy类并使用DataTable作为源数据。与多个INSERT相比,它真的很快。
答案 2 :(得分:0)
如果你没有使用sqlbulkcopy,你可以做下一步: