首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >什么是更有效的Joins和多个选择与LINQ工作?

什么是更有效的Joins和多个选择与LINQ工作?
EN

Stack Overflow用户
提问于 2010-11-09 18:21:53
回答 1查看 352关注 0票数 2

我有一些与LINQ有关的复杂查询,这些查询在幕后进行7-9连接。我在优化queries.Now的过程中,我对这里的几件事有点困惑-

  1. 我是否应该让存储过程执行可能是动态的,而不是像LINQ query.When那样让存储过程执行,而不是使用LINQ查询?我想是depends..but,什么是最佳实践?什么时候应该有一个存储过程?我看到有时候LINQ在幕后做一些奇怪的低效的事情?这是我关心的..。
  2. 在某些地方,我可以使用多个选择...as来比较何时可以与表连接,但是如果加入它们,就会变得更加复杂(比如7-9连接,将与3-5选择进行比较)。我个人认为加入会很有效率,对吧?因为只有一个数据库请求?而对于多个选择,它必须发出多个请求?你对此有何看法?
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-11-09 18:30:06

这里有很多因素,对我来说也有很多未知因素,所以我回答的潜台词是“这取决于”。

1)使用定义良好的Datacontext,LINQ通常会生成高效的查询。过滤器自动参数化,使数据库引擎能够缓存执行计划。因此,我认为唯一的时间存储过程会表现得更好,如果需要查询提示,或者查询生成器不支持的其他机制。我相信最好的做法是使用LINQ,并且只有当一个重要的优化能够被演示时才使用sprocs。

2)通常限制您到DB的旅行是最佳的。但是阅读你们的关系中所需要的连接数量会让人怀疑添加一个视图是否会为您提供更好的服务。它将抽象复杂性,视图与LINQ很好地集成,它将保护您的代码不受未来模式更改的影响。

让我也推荐LINQPad来帮助优化LINQ查询。它已经成为我不可或缺的工具,如果你还没有使用它,我打赌它也会成为你的工具之一。

此外,有关LINQ的更多意见,请参阅本问题中的讨论:LINQ to-SQL vs存储过程?

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4137090

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档