LINQ 有多快?

2023-11-26

我需要操作 100,000 - 200,000 条记录。
我正在考虑使用 LINQ(到 SQL)来做到这一点。
根据我的经验,我知道过滤数据视图非常慢。
那么 LINQ 有多快呢?

您能否告诉我您的经验以及它是否值得使用,或者我使用 SQL 存储过程(繁重且不太灵活)会更好吗?

在数千条记录中,我需要找到一组数据然后对其进行处理,每组大约有50条记录。


LINQ to SQL 将您的查询表达式转换为 T-SQL,因此您的查询性能应该与通过 ADO.NET 发送 SQL 查询完全相同。我猜想,将查询的表达式树转换为等效的 T-SQL 会产生一点开销,但我的经验是,与实际查询时间相比,这很小。

您当然可以准确地找出生成的 T-SQL 内容,从而确保您有良好的支持索引。

与 DataView 的主要区别在于 LINQ to SQL 不会将所有数据放入内存并在那里进行筛选。相反,它让数据库做它擅长的事情,并且只将匹配的数据放入内存中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LINQ 有多快? 的相关文章

随机推荐

  • 隐藏奇怪的不需要的 Xcode 日志

    使用 Xcode 8 并创建新的空白项目时 运行应用程序时会出现以下日志 2016 06 13 16 33 34 406093 TestiOS10 8209 100611 bundleid com appc TestiOS10 enable
  • 在数据库中的任意位置查找值

    给定一个数字 我如何发现它可以在哪个表和列中找到 我不在乎它是否快 它只需要工作 这可能对你有帮助 来自纳拉亚纳 维亚斯 它搜索给定数据库中所有表的所有列 我以前用过它并且有效 这是上面链接中的存储过程 我所做的唯一更改是用临时表替换表变量
  • 有没有办法自动占据WrapPanel中的空白区域?

    WrapPanel 的子级按顺序填充 如所附屏幕截图所示 因此 Panel根据每个孩子的身长 制作了较长的空白 如何利用空白空间重新排列孩子们 到目前为止 似乎只有很少的人使用 WrapPanel 并且没有足够的示例 有一些自动的方法吗 或
  • EXECUTE 后的事务计数表明 BEGIN 和 COMMIT 语句的数量不匹配。先前计数

    我收到有关提交和回滚的异常 但不确定我的存储过程到底出了什么问题 我已阅读其他此类问题的答案 但无法找到提交计数到底在哪里混乱 所以 这是我使用的存储过程 this is a procedure used for the purge uti
  • 如何配置 leiningen 以使用最新的 Clojure 版本来在项目之外启动 repl?

    当我为特定项目启动 clojure repl 时 对于 leiningen 来说足以在具体中指定正确的 clojure 版本项目 clj如上所述的文件here 但是当我在项目之外启动 repl 时 旧版本就会启动 就我而言 旧版本是1 5
  • Airflow安装成功,但无法运行

    C Python27 Scripts gt airflow initdb airflow 不被识别为内部或外部命令 可运行的程序或批处理文件 C Python27 Scripts gt 气流初始化 airflow 不被识别为内部或外部命令
  • 如何从 Hibernate MetadataSources 发现完全限定的表列

    我有一个实体 我有一个实体Class
  • C# 的线程是在用户级还是内核级创建的?

    最近在研究操作系统 遇到了这个问题 线程是在C 用户级还是内核级创建的 比如 Thread mythread new Thread ThreadStart something 据我所知 内核级CPU密集型线程的进程可以比用户级别的运行速度更
  • 如何在 Mono 上将 Linq 与 MySql 数据库结合使用?

    有许多库为与 MySql 数据库交互的 C 代码提供 Linq 功能 其中哪一个在 Mono 上最稳定 最可用 背景 大部分不相关 我有一个简单的 C Net 2 0 程序 用于更新 MySql 数据库中的值 它每晚通过 cron 作业执行
  • Facebook SDK FB.GetLoginStatus 加载被 X-Frame-Options 拒绝(仅限 Firefox)

    我有一个 Web 应用程序登录页面 在文档加载完成后 该页面会从 Facebook JavaScript SDK 调用 FB GetLoginStatus 这在所有浏览器 包括移动设备 上都运行得很好 从此以后就很幸福了 但是 有一天 我突
  • Akka 持久化查询事件流和 CQRS

    我正在尝试在我的 ES CQRS 架构中实现读取端 假设我有一个这样执着的演员 object UserWrite sealed trait UserEvent sealed trait State case object Uninitial
  • 在 cakePHP 2.x 中使用虚拟字段

    我已通读文档并努力了解该怎么做 另外 我已经阅读了 stackoverflow 上的问题 但我尝试的任何方法都没有帮助 我有一个下拉列表 我想列出公司中的所有员工 该列表应显示如下 Name Surname Job Title 在我的模型中
  • 使用 Python / lxml 和 XPath 检索属性名称和值

    我将 XPath 与 Python lxml Python 2 一起使用 我对数据进行了两次处理 一次用于选择感兴趣的记录 另一次用于从数据中提取值 这是代码类型的示例 from lxml import etree xml
  • UTF-8 到 Unicode 代码点

    是否有一个函数可以将 UTF 8 更改为 Unicode 将非特殊字符保留为普通字母和数字 即德语单词 tch 将被渲染为 tch 20AC 21AC 请注意 我正在编写 Unicode 代码 编辑 我正在尝试以下函数 但是尽管该函数适用于
  • 获取调用方法的对象

    如果我有一个来自随机班级的电话 如下所示 implementation SomeClass void classMethodFoo int a SomeSingleton sharedInstance aValue end Inside S
  • 可以向 Google Maps API 发出多少个请求而不被禁止?

    我正在通过 Google Maps API 使用地址自动建议 希望速度尽可能快 目前 我在脚本中添加了 10 毫秒的延迟 以避免因太多请求而被禁止 有这个必要吗 可以提出多少个请求而不被禁止 附 我希望为此添加一些合适的标签 但我真的想不出
  • 如何在 Hibernate 查询语言中执行左连接?

    这是我的 HQL 查询 但它不起作用并且抛出错误 Hql查询 SELECT FROM TABLEA A LEFT JOIN A TABLEB B WHERE A COLUMNNAME B COLUMNAME 它会导致此错误 org hibe
  • 到底什么是“objc_msgSend_fixup”?

    我正在摆弄 Objective C 运行时 尝试编译 Objective C 代码而不将其链接到libobjc 并且我的程序遇到了一些分段错误问题 因此我从中生成了一个汇编文件 我认为没有必要显示整个汇编文件 在我的某个时刻main函数 我
  • 模块依赖于 Dagger 中的另一个模块

    我正在尝试使用Dagger在我正在构建的应用程序上进行依赖注入 当我有一个包的模块依赖于注入器提供的值 可能是由另一个模块提供 时 在构建正确的 DAG 时遇到了麻烦 如果我有一个用于某些可配置变量的简单模块 例如 我可能想将其换成测试环境
  • LINQ 有多快?

    我需要操作 100 000 200 000 条记录 我正在考虑使用 LINQ 到 SQL 来做到这一点 根据我的经验 我知道过滤数据视图非常慢 那么 LINQ 有多快呢 您能否告诉我您的经验以及它是否值得使用 或者我使用 SQL 存储过程