LINQ to SQL 与企业库

发布于 2024-12-06 07:58:57 字数 136 浏览 0 评论 0原文

我每天插入 100 万条记录。我的前端是 C# 4.0,后端是 MS SQL Server 2008 R2。

我应该使用什么方法才能获得最佳性能?我应该使用 LINQ To SQL 或 Enterprise Library 5.0 还是其他?

I have 1 million records inserted per day. My front end is C# 4.0 and my back end is MS SQL Server 2008 R2.

What method should I use to gain the best performance? Should I use LINQ To SQL or Enterprise Library 5.0 or something else?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

内心旳酸楚 2024-12-13 07:58:57

如果要向数据库中插入那么多行,则应考虑使用 SQL Server 批量插入。它被设计来处理这些类型的负载。我喜欢 Linq to SQL,但它不能很好地处理这种负载。

If you're going to be inserting that many rows into a database, you should consider using SQL Server Bulk Insert. It was designed to handle these kinds of loads. I love Linq to SQL, but it won't handle this sort of load too well.

方圜几里 2024-12-13 07:58:57

是一批 100 万条,还是一次 100 万条记录?

如果您正在寻找批处理,您可以忘记具有此类卷的 Linq2sql。看一下 SqlBulkCopy 类,它的速度要快得多。

因此,您可以选择混合解决方案 - 对批处理使用 SqlBulkCopy,并且您仍然可以使用 linq2sql 对单个实体(或小批量)进行查询和 CRUD 操作。

如果一次只有一条记录均匀分布,我认为您仍然可以使用 Linq2sql 进行管理。

Is that 1 million in one batch, or a million times 1 record at a time?

If you are looking for batch, you can forget about Linq2sql with these kind of volumes. Have a look at the SqlBulkCopy class, that is magnitues faster.

So you can opt for a hybrid solution - use SqlBulkCopy for your batch and you can still use linq2sql for queries and CRUD actions on single entities (or small batches).

It it is only one record at a time distributed evenly, i think you will still manage with Linq2sql.

粉红×色少女 2024-12-13 07:58:57

我同意其他人关于如何执行批处理操作的观点,但我根本不建议使用 LINQ to SQL。请改用实体框架。它更加灵活。

I agree with the others on how to do batch operations, however I would not suggest LINQ to SQL at all. Use Entity Framework instead. It is much more flexible.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文