SQL Server IN 与 EXISTS 性能

2023-12-01

我很好奇下面哪一个会更有效?

我一直对使用有点谨慎IN因为我相信 SQL Server 将结果集变成一个大的IF陈述。对于大型结果集,这可能会导致性能不佳。对于小型结果集,我不确定哪一个更好。对于大型结果集,不会EXISTS更有效率吗?

WHERE EXISTS (SELECT * FROM Base WHERE bx.BoxID = Base.BoxID AND [Rank] = 2)

vs.

WHERE bx.BoxID IN (SELECT BoxID FROM Base WHERE [Rank = 2])

EXISTS会更快,因为一旦引擎发现命中,它就会停止寻找,因为条件已被证明是正确的。

With IN,它将在进一步处理之前收集子查询的所有结果。

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

SQL Server IN 与 EXISTS 性能 的相关文章

  • 将 Python 中创建的 pandas 数据框插入 SQL Server

    如前所述 我在 Python 中创建了一个数据集合 40k 行 5 列 我想将其插入 SQL Server 表中 通常 在 SQL 中我会做一个 select into myTable from dataTable 调用来执行插入 但是 p
  • SQL Server、ISABOUT、加权项

    我试图弄清楚加权项在 SQL SERVER 的 ISABOUT 查询中是如何工作的 这是我目前所在的位置 每个查询返回以下行 查询 1 权重 1 初始排名 SELECT FROM CONTAINSTABLE documentParts ti
  • 一组记录中某些值相同的唯一约束

    DBMS MS Sql Server 2005 标准版 我想创建一个表约束 以便只有一个记录在表的子集中具有特定值 其中行共享特定列中的值 这可能吗 Example 我的 myTable 中有一些记录 其中有一个非唯一的外键 fk1 以及一
  • SQL分组和总结

    我的表如下所示 income date productid invoiceid customerid 300 2015 01 01 A 1234551 1 300 2016 01 02 A 1234552 1 300 2016 01 03
  • 在 SQL Server 中选择条件的值[重复]

    这个问题在这里已经有答案了 在查询选择中 我想显示字段是否满足条件的结果 想象一下我有一张名为stock 该表有一列告诉我库存中每种商品的数量 我想做的是这样的 SELECT stock name IF stock quantity lt
  • 显示多个表的账户余额

    我有以下两个表 其中存储有关贷记和借记记录的信息 couponCr 表包含 voucherType voucherPrefix voucherNo crparty cramount SALES S 1 1 43000 SALES S 2 1
  • 当列的数据类型为 int 时,如何用字符串替换 null

    我有一个包含 3 列的表和如下示例数据 所有列都是数据类型int 我有这个查询 select foodid dayid from Schedule 我要更换dayid用字符串 ifdayid null 为此我尝试了这个查询 select f
  • TSQL - 创建从日期表,同时忽略带条件的中间步骤

    我在 MS SQL 服务器中有以下表结构 现在 我想根据以下规则获取每个 id 的 in 日期 如果第二天 23 59 出 和 00 00 进 则忽略这些 如果同一天有 out 和 in 请忽略这些 例如我应该得到以下结果 id in ou
  • 如何确保使用 Microsoft Sync Framework 同步成功?

    我正在使用微软同步框架 https msdn microsoft com en us sync bb736753 aspx同步两个 Microsoft SQL Server 上的表 我创建了一个测试应用程序 它每秒在远程服务器上的表中生成一
  • 如何使用 SQL Server 查询对“版本号”列进行排序

    我想知道我们当中的 SQL 天才是否可以向我伸出援助之手 我有一个专栏VersionNo在表中Versions包含 版本号 值 例如 VersionNo 1 2 3 1 1 10 3 1 1 4 7 2 etc 我正在寻找对此进行排序 但不
  • 如何将 LEFT JOIN 限制为 SQL Server 中的第一个结果?

    我有一些 SQL 几乎可以做我想做的事情 我正在使用三个表 Users UserPhoneNumbers 和 UserPhoneNumberTypes 我正在尝试获取用户列表及其电话号码以供导出 数据库本身很旧并且存在一些完整性问题 我的问
  • 如何将存储过程中的值返回到 EF

    我试图通过 EF 调用存储过程并从存储过程中检索返回值 我用过this https stackoverflow com questions 6861737 executesqlcommand with output parameter an
  • 如何:使用 SQL Server 2008 创建自动更新修改日期的触发器

    很高兴知道如何创建一个自动更新的触发器modifiedDate我的 SQL Server 表中的列 Table 时间输入 Id PK UserId FK Description Time GenDate ModDate 触发代码 TR Ti
  • T-SQL 按最旧日期和唯一类别选择行

    我正在使用 Microsoft SQL 我有一个表 其中包含按两个不同类别存储的信息和一个日期 例如 ID Cat1 Cat2 Date Time Data 1 1 A 11 00 456 2 1 B 11 01 789 3 1 A 11
  • 如何列出表中的所有列?

    对于各种流行的数据库系统 如何列出表中的所有列 对于 MySQL 请使用 DESCRIBE name of table 只要您使用 SQL Plus 或 Oracle 的 SQL Developer 这也适用于 Oracle
  • JSON 值的模式匹配

    运行 Postgres 12 5 的本地 docker 实例 4MBwork mem 我正在实施这个图案 https dba stackexchange com q 108447 3684搜索 json 中的任意字段 目标是搜索并返回 JS
  • 有很多数据库视图可以吗?

    我很少 每月 每季度 使用 Microsoft SQL Server 2005 数据库视图生成数百份 Crystal Reports 报告 在我不读取这些视图的所有时间里 这些视图是否会浪费 CPU 周期和 RAM 因为我很少从视图中读取数
  • 使用 SqlDataReader.IsDBNull 时使用列名

    我已经得到了从 SQL DB 读取数据的代码 我不知道应该如何编辑它 以便我可以使用原始列名称而不是列索引 string query SELECT FROM zajezd WHERE event thisrow AND year klien
  • 显示包含特定表的所有数据库名称

    我的 SQL Server 中有很多数据库 我必须只搜索包含特定表名的数据库名称Heartbitmaster 我有很多数据库 例如Gotgold DVD等 我只想从包含此表的查询中查找数据库名称Heartbitmaster 我搜索我尝试查询
  • SQL Server:触发器如何读取插入、更新、删除的值

    我在一张表中有触发器并且想阅读UserId插入 更新或删除行时的值 怎么做 下面的代码不起作用 我收到错误UPDATED ALTER TRIGGER dbo UpdateUserCreditsLeft ON dbo Order AFTER

随机推荐

  • 整数到 NSInteger 并保存到核心数据

    我有一个名为 Marbles 的整数 并尝试使用以下代码将其保存到数组中 records setValue marbles forKey marbles 使用这段代码 我收到警告 警告 语义问题 整数到指针转换不兼容 将 int 发送到 i
  • Mongodb 分组并使用空数组进行推送

    我遇到了一个问题group当有一个数组可以是empty 该集合可能是这样的 id Contract 1 ContactId Contact 1 Specifications id Contract 2 ContactId Contact 2
  • 将索引添加到现有文件的文件名(file.txt => file_1.txt)

    如果文件已经存在 我想向文件名添加索引 这样我就不会覆盖它 就像我有一个文件一样myfile txt和同一时间myfile txt存在于目标文件夹中 我需要复制带有名称的文件myfile 1 txt 同时如果我有一个文件myfile txt
  • gitosis + git 错误:致命:'/home/git/repositories/idea-generator.git' 似乎不是 git 存储库

    我尝试按照有关如何使用的说明进行操作gitosis管理我的git项目 除了一个小问题外 我已经安装了gitosis成功地 当我尝试创建我的第一个 git 项目时 通过 gitosis 设置和配置项目后 问题就出现了 当我推送到远程 git
  • 如何在MYSQL中插入时间2009-09-22 18:09:37.881 我的列类型是DateTime

    如何插入时间2009 09 22 18 09 37 881在mysql中 实际上我可以插入和检索时间2009 09 22 18 09 37在 mysql 中 但每当我尝试插入时2009 09 22 18 09 37 881数据未插入数据库
  • 获取目录中所有文件夹的列表[关闭]

    很难说出这里问的是什么 这个问题模棱两可 含糊不清 不完整 过于宽泛或言辞激烈 无法以目前的形式合理回答 如需帮助澄清此问题以便重新打开 访问帮助中心 所以我有一个如下所示的文件系统 Music 001 song mp3 002 song
  • Java 的 NullPointerException 是否可以更改为报告哪个变量为空? [复制]

    这个问题在这里已经有答案了 The NullPointerExceptionin Java 似乎只报告它发生在特定的代码行上 如果一行代码中使用了多个变量 是否可以更改该异常以声明哪个变量为空 不 类文件中的调试信息不 包含足够的信息来允许
  • DataFrame.to_csv 抛出错误“[Errno 2]没有这样的文件或目录”

    我正在尝试将 DataFrame 写入 csv 文件 now datetime datetime now date now strftime Y m d enrichedDataDir export market data temp enr
  • 如何在android中获取sdcard(Secondary)存储路径?

    我正在开发一个文件管理器应用程序 我想向用户显示内部存储和 SD 卡存储 如果存在 对于内部存储我使用Environment getExternalStorageDirectory getPath 如何获得 SD 存储空间 不确定这个解决方
  • 删除数组指针?

    如何删除已经分配给数组的内存models names 我尝试了所有方法 但运行时总是崩溃 int main vector
  • 表排序器排序;多个复选框、多列

    我有一个表格排序器几乎按照我想要的方式运行 只是还有一件事我不知道该怎么做 现在 我有一个表格 您可以在其中按列搜索 并且可以通过按在列的搜索字段中输入值的按钮来快速过滤表格 问题是我希望人们能够选中多个复选框 以便根据此输入过滤表格 这些
  • 如何读取组件中的http状态代码错误

    我知道以前有人问过这个问题 但我似乎找不到答案 如何从 http 读取状态代码 this bookingService save this param subscribe data gt swal title Succes text You
  • 为什么我们在使用 AEM 时扩展 WCMUsePojo 类?

    为什么我们在使用 AEM 时在程序中扩展 WCMUsepojo 抽象类 使用这个类有什么好处 因为在 AEM 的组件开发机制中 您可能需要一种方法来为组件提供后端逻辑 那是因为Sightly 当用作渲染脚本语言而不是JSP页 是一种有限的模
  • golang - 为什么 ++ 和 -- 不能在表达式中工作?

    我们在其他语言中认为理所当然的事情 几乎期望它在 go 中工作 但在 go 中却行不通 这样做几乎是很自然的 那么为什么编译器不高兴呢 有时只是感觉想摆脱困境 增加该值的唯一方法是将其放在自己的单独行中 http play golang o
  • 如何将 TinyMCE 与 NuxtJS 结合使用

    我正在尝试构建一个博客平台 我需要使用文本编辑器 并且我考虑过 CKeditor 和 TinyMCE 但没有关于如何将其与 NuxtJS 一起使用的视频或良好说明 如果有人可以帮助我 我将不胜感激 请不要使用 CDN 而是使用以下解决方案i
  • PHP——将字符串转换为bigint

    我有以下字符串 需要将其转换为整数或 bigint test 99999977706 I tried echo int test echo integer test echo intval test 但他们都给我还了2147483647 如
  • 检查硬件加速可用性? (可测试)

    我编写了使用 webkit transform webkit perspective 和几个类似的 CSS 我的设计在可以使用硬件加速的机器上看起来非常出色 但在不使用硬件加速时实际上无法使用 如何检查硬件加速可用性并提供后备 CSS 旁注
  • urllib2支持抢占式认证吗?

    我正在尝试访问 REST API 我可以让它在 Curl REST Client UI 工具 中工作 并启用抢先身份验证 但是 使用 urllib2 默认情况下它似乎不支持此功能 并且我找不到打开它的方法 谢谢 这是一个简单的抢占式 HTT
  • 使用 keras.utils.Sequence 时,keras Predict_generator 会打乱其输出

    我正在使用 keras 构建一个输入 720x1280 图像并输出值的模型 我有问题keras models Sequential predict generator当使用keras utils Sequence类来获取与验证 训练集上的图
  • SQL Server IN 与 EXISTS 性能

    我很好奇下面哪一个会更有效 我一直对使用有点谨慎IN因为我相信 SQL Server 将结果集变成一个大的IF陈述 对于大型结果集 这可能会导致性能不佳 对于小型结果集 我不确定哪一个更好 对于大型结果集 不会EXISTS更有效率吗 WHE