优化 linq 中的Where子句

发布于 2024-11-05 15:55:09 字数 127 浏览 0 评论 0原文

什么更好?

1) 多个Where 子句,每个子句一个过滤器

2) 1 个Where 子句,包含大量&&在过滤器之间

我正在使用 linq-to-sql

谢谢。

What's better?

1) several Where clauses with one filter per clause

2) 1 Where clause with lots of && between filters

I'm using linq-to-sql

Thanks.

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

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

发布评论

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

评论(2

超可爱的懒熊 2024-11-12 15:55:09

在 linq-to-objects 中,多个 && 很可能更快,因为它只产生一次委托调用开销。

对于大多数基于 IQueryable 的 linq 实现来说,它们可能几乎相同,因为它们很可能会针对相同的内部查询进行优化。优化器完成的工作量可能略有不同。

In linq-to-objects multiple && is most likely faster since it incurs the delegate invocation overhead only once.

For most IQueryable based linq implementations it's probably almost the same for both of them, since they most likely will be optimized to the same internal query. The amount of work done by the optimizer might differ slightly.

一曲爱恨情仇 2024-11-12 15:55:09

对于 linq-to-sql 来说这并不重要,因为查询会计算一次并在需要时执行。

但是,您仍然需要担心查询本身的性能。如果没有正确的索引,您可能会遇到麻烦。

For linq-to-sql it doesn't matter because the query is evaluated once and executed when you need it.

However, you still need to worry about the performance of the query itself. You can get into trouble by not having the correct indexes in place.

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