LINQ 和性能

发布于 2024-10-24 04:26:18 字数 128 浏览 1 评论 0原文

我使用存储过程从数据库中获取数据和修改。 如果我使用 LINQ 来完成相同的工作,会出现性能问题吗?我的意思是我会获得更好的表现吗? 我发现 LINQ 语法有点复杂,所以有没有任何工具可以帮助我生成 LINQ 语法。

谢谢

I use a stored procedure to fetch data and modifications from the database.
If i use LINQ for the same job will there be any performance issue? I mean will I get better performance or not?
I saw that LINQ syntax is bit complicated, so is there any tool which help me to generate LINQ syntax.

thanks

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

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

发布评论

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

评论(3

棒棒糖 2024-10-31 04:26:18

使用 Linq2Sql VS 调用存储过程对性能有轻微影响;其一,存储过程可以被编译和存储,因此后续调用速度更快,并且您在 T-SQL 领域拥有更多控制和选项,而不是让 Linq2Sql 为您生成语句。

但是,除非您的网站流量很大,否则如果您正在寻找一种简单的方法来设置网站,则没有理由不使用它。

There is a slight performance impact against using Linq2Sql VS calling stored procedures; for one, the stored procedure can be compiled and stored so subsequent calls are quicker, and you have more control and options in T-SQL land VS having Linq2Sql generate the statements for you.

However, unless your site is getting heavy traffic, theres no reason not to use it if you are looking for an easy way to get your site set up.

苦妄 2024-10-31 04:26:18

一般来说,LINQ 的性能不会优于存储过程。毕竟,Linq2Sql 生成 SQL,这永远不会比编写良好的存储过程更好。

Linq2sql 如果使用不当,可能会损害性能。这通常是由于开发人员不了解延迟加载原理而导致的,这可能会导致大量查询。

会产生性能问题的是批量操作。这是您不想使用 Linq2Sql 但需要 SqlBulkCopy 或存储过程的区域。

尽管如此,我经常使用它并且总体上很高兴。

In general, LINQ will not beat the performance of a stored procedure. After all, Linq2Sql generates SQL and that will never be better than a well-written stored procedure.

Linq2sql, if not used properly, can harm performance. That is often caused by developers that do not understand the deferred loading principle and that can lead to a LOT of queries.

Where it WILL create performance issues is with bulk operations. This is an area where you do not want to use Linq2Sql but you need SqlBulkCopy or stored procedures.

Nevertheless, I use it a lot and am happy in general.

紫瑟鸿黎 2024-10-31 04:26:18

LinqPad 是一个免费程序,可以作为学习 LINQ 的一种方式。它装载了 500 个示例。

LinqPad is a free program and can be a way to learn LINQ. It comes loaded with 500 examples.

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