首页 > 解决方案 > 频繁保存数百万个条目的数据库效率?

问题描述

我正在尝试将大量数据插入到 SQL 服务器数据库中,我的问题是,当数百万个条目将被插入到那里时,我应该多久保存一次。在例如 10.000 次插入或 1.000.000 次插入之后保存它是否有效?有什么值得参考的价值观吗?我正在使用C# Entity Framework数据填充服务器,因此我使用了一个DBContext处理 CRUD 和保存的类。

标签: c#sql-serverdatabaseentity-frameworksql-scripts

解决方案


我正在使用 C# Entity Framework 用数据填充服务器

你的问题从这里开始。它不适合这个。错误的工具。我喜欢 Entity Frameowrk,但它是一个 ORM,而不是批量加载工具。

我通常使用 SqlBulkLoader 类将多达 65k 条记录加载到一个临时表中(在几秒钟内,但要注意,你几乎必须使用一个临时表),我在一个命令/事务中将其 ncopy 到最终表。

全速并行处理 4-5 个线程。

实体框架将花费数小时处理一百万行,无论您如何打开它。只是错误的工具。


推荐阅读