Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >什么是更有效的Joins和多个选择与LINQ工作?

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

Stack Overflow用户
提问于 2010-11-09 10: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 10: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

复制
相关文章
大厂与小厂工作的选择
这周末回老家参加妹妹的婚礼,喜宴上和转行进入计算机行业1年多的老弟,聊了不少最近他的现状情况,发现和我刚毕业一两年那会情况类似。
帅地
2018/12/26
6920
多表查询与7种JOINS的实现
前提条件:这些一起查询的表之间是有关系的(一对一、一对多),它们之间一定是有关联字段,这个关联字段可能建立了外键,也可能没有建立外键。比如:员工表和部门表,这两个表依靠“部门编号”进行关联。
timerring
2023/02/16
1.4K0
多表查询与7种JOINS的实现
什么是NameNode和DataNode?他们是如何协同工作的?
什么是NameNode和DataNode?他们是如何协同工作的? 一个HDFS集群包含一个NameNode和若干的DataNode(start-dfs命令就启动了NameNode和DataNode), NameNode是管理者,主要负责管理hdfs文件系统,具体包括namespace命名空间管理(即目录结构)和block管理。DataNode主 要用来存储数据文件,因为文件可能巨大无比(大数据,大于1TB),HDFS将一个文件分割成一个个的block,这些block可能存储在一个DataNode上或 者多个DataNode上。DataNode负责实际的底层的文件的读写。马克-to-win @ 马克java社区:举个例子:如果客户端client程序发起了读hdfs上的某个文件的指令, NameNode首先将找到这个文件对应的block,然后NameNode告知client,这些block数据在哪些DataNode上,之后, client将直接和DataNode交互。
马克java社区
2019/07/22
9850
什么是NameNode和DataNode?他们是如何协同工作的?
什么是有效的安全文件管理
作为基层管理人员,每天都要收到很多文件,其中十有六七是安全相关文件,如何让各层级的要求能够及时、准确、完整地传达和落实,需要有效的文件管理。 有效的安全文件管理,需要对文件进行合理分类和归档、需要认真研读文件并对文件作进一步的处理,也就是落实文件要求和汲取文件精华,在确保“事事有着落、件件有回音”的同时,沉淀文件成果,让文件发挥最大效能。 文件分类和归档 清晰的分类,有助于理清文件的整体脉络,让文件能够有序地整理归档,更好地跟踪文件落实情况,也方便整合和查阅。 1.按来文出处 大体可以这样分:总书记重要讲话指示批示;外部来文,包括国务院国资委、能源局、能监办,属地政府相关部门等;内部来文,包括领导指示批示及交办事项、集团公司及各部门、公司及各部门。 2.按重要程度 可以分为:紧急且重要、不紧急但重要、一般,等。有些文件看过落实过就可以存档了。 3.按作用时间 可以分为:长期、阶段、临时。 4.按文件类型 可以分为:领导讲话、规章制度标准、会议纪要、通知、通报、报告、简报,等。 5.按工作类型 可以分为:安全综合管理、安全检查、双重预防机制、安全培训、消防管理、特种设备管理、应急管理、网络安全、职业健康安全、事故事件警示,等。 6.按文件的参考作用 可以分为:经常查阅、参考学习,等。 7.按文件的关联性 可以分为:有相关关联文件、无相关关联文件。有一些文件是针对某项工作的一系列文件,由上至下层层发文,这些文件就是有相关关联文件 8.关键字 根据文件内容,设置一些关键字来对文件进行同类识别。 文件处理 文件归类是收到/印发文件后的第一步,接下来就要对文件进行处理。首先,是要对文件认真研读,理解文件内容,梳理文件相关要求,研究制定落实措施。同时,在理解文件内容基础上对文件进一步归类。 要建立文件清单及落实情况台账,至少包括文件名称、分类、要落实事项、落实措施、责任人、时限、跟踪人、落实情况及相关证据,等。 对于一些有参考作用的文件,要善于吸收文件中的成果,将其运用到自己的工作中,或者完善安全体制机制制度,或者分类成册,例如总书记关于安全生产的重要讲话指示批示汇编、各级检查问题汇编、经验成果汇编等等,方便时常查阅研学。 下面是文件处理程序示意:
fanjy
2023/10/23
1830
什么是有效的安全文件管理
什么是Kubernetes?Kubernetes是怎样工作的?
Kubernetes 是一个可移植、可扩展的开源平台,用于管理容器化工作负载和服务,有助于声明式配置和自动化,它拥有庞大且快速发展的生态系统,Kubernetes 服务、支持和工具随处可见。
网络技术联盟站
2021/12/16
1.6K0
什么是Kubernetes?Kubernetes是怎样工作的?
jQuery中,$.和$().有什么区别以及多个选择器的执行
$代表jQuery对象,同时也是一个函数对象 $()和jQuery()是jQuery的核心函数,执行这两个元素返回的是一个DOM元素 $()是一个函数,等同于jQuery(),可在括号内传参数,传参后可获取元素 $(“.one”)表示获取class=“one”的元素,返回一个jQuery对象 $(”.one”).onclick表示class=”one”的点击事件 $.post() $.get() $.ajax() 都是jQuery对象的方法
kirin
2021/02/04
1.2K0
聊聊flink Table的Joins
flink-table_2.11-1.7.0-sources.jar!/org/apache/flink/table/api/table.scala
code4it
2019/03/01
8470
什么是 BPMN ?为什么要用 BPMN 和工作流 ?
对于流程控制,有一种比较初级的玩法是:在业务代码里面加入 Status(状态机) 字段维护流程状态,流程负责的审批人可能也是 Hard Code(硬编码),这种玩法实现流程初级会比较快,但是长远来看会出现几个问题:
phoenix.xiao
2021/08/18
3.7K0
漫画:什么是选择排序?
顾名思义,就是把每一元素和下一个元素进行比较和交换,使得较大的元素像气泡一样向右侧移动:
小灰
2020/04/22
3091
聊聊flink Table的Joins
flink-table_2.11-1.7.0-sources.jar!/org/apache/flink/table/api/table.scala
code4it
2019/01/29
1.9K0
聊聊flink Table的Joins
什么是CC攻击?如何有效防御?
CC攻击其实属于DDoS攻击的一种,其原理就是攻击者控制某些主机不停地发大量数据包给对方服务器造成服务器资源耗尽,一直到宕机崩溃。这种攻击普遍都是流量不是很高,但是破坏性非常大,直接导致系统服务挂了无法正常服务。CC攻击因其见效快、成本低、难追踪,是黑客最常用的攻击类型之一。
墨者安全科技
2019/12/11
2.2K0
什么是CC攻击?如何有效防御?
什么是最有效的ddos混合防御方法?
互联网的多样化以及发展速度,使网络安全变得极为复杂,为了提高企业对网络安全的思想意识,墨者安全长期会给大家分享一些关于DDOS攻击防御,CC攻击防御以及大数据安全预防的方法。今天墨者安全给大家分享什么是最有效的ddos混合防御方法?
墨者盾
2019/05/05
8850
什么是最有效的ddos混合防御方法?
Linq、EF和SQL语法有什么差别?
高渡号外《新手编程1001问》专栏,从第6期开始,将陆续发布一些关于 C#/ .Net 技术的问题和解答,供关注本公众号的读者收藏和参考。有兴趣参与的同学,可以在公众号文章的后面留言或提问,我们将选择更多有代表性的问题,及时给予回答。
高一峰
2020/09/22
2K0
Linq、EF和SQL语法有什么差别?
什么是EIGRP,EIGRP的工作原理是啥?
EIGRP是一种动态路由协议,为我们提供了一些很棒的功能,它使用“DUAL”算法来确定路由的最佳路径。
网络技术联盟站
2021/09/08
1.2K0
什么是EIGRP,EIGRP的工作原理是啥?
什么是主数据管理?为什么CDP是更好的选择?
身处大数据时代,数据驱动自然而然成为了一个不可逃避的热词。不少企业在做决策或者产品、运营等优化时,在数据的支撑下进行科学地运营,从而为业务带来更多增长,在这一过程中,他们发现收集到的数据的有形商业价值在很大程度上取决于一件事:如何计划并使用数据。
用户1094615
2023/04/25
5070
动态Linq的逻辑与和逻辑或的条件查询
最近在做一个数据检索的工作,对一个数据库中的宽表进行多个条件的检索。为了简单方便快捷的完成这个功能,我使用LINQ to SQL+ReportView的方式来完成。
深蓝studyzy
2022/06/16
1.6K0
视频动画 | 什么是选择排序?
选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理如下。首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。
我脱下短袖
2019/12/23
5940
为什么以太坊是最好的选择?
进入加密生态系统的新资本必须提出的最重要问题之一是把资金押注在哪里,作为市值超过 50% 的两个最大的加密货币,比特币与以太坊的相对问题可能是希望超越资产类别的机构和高净值个人提出的最重要问题。
小将
2022/09/22
1.2K0
为什么以太坊是最好的选择?
为什么选择多云?为什么是现在?
由于人们在过去几年看到的风险,组织不断扩大其云采用。尽管云计算解决了许多令企业用户头痛的问题,但它并不能免除许多其他责任,其中包括数据安全,应用程序安全,以及遵守地区法律等。 这就是为什么云计算变得越
静一
2018/06/08
6470
什么是简单选择排序?
简单选择排序的基本思想是每一趟在后面n-i+1个待排序元素中选取关键字最小的元素,作为有序子序列的第i个元素,直到n-1趟做完。
跋扈洋
2022/12/03
6060
什么是简单选择排序?

相似问题

具有多个Sums、Groupings和Joins的Linq查询

13

LINQ、Joins、Grouping和Aggregates

12

使用Group和Joins的Linq查询

11

LINQ Joins -性能

31

带有joins和List<GUID>的LINQ

30
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文