sql – 使用联盟或加入 – 什么是更快
发布时间:2020-12-12 16:41:29 所属栏目:MsSql教程 来源:网络整理
导读:我只是想知道如果你有一张桌子,你们联合起来,那么使用加入会更有效吗? 我知道连接创建更多的列,但这更有理论意义 – 联盟需要对连接进行嵌套循环扫描,就像连接一样吗? 解决方法 Union会更快,因为它只是传递第一个SELECT语句,然后解析第二个SELECT语句,并将
我只是想知道如果你有一张桌子,你们联合起来,那么使用加入会更有效吗?
我知道连接创建更多的列,但这更有理论意义 – 联盟需要对连接进行嵌套循环扫描,就像连接一样吗? 解决方法Union会更快,因为它只是传递第一个SELECT语句,然后解析第二个SELECT语句,并将结果添加到输出表的末尾.Join将通过两个表的每一行,在另一个表中查找匹配,因此需要更多的处理,因为每行搜索匹配的行. 编辑 联盟我的意思是联盟All,因为它似乎足够你想要实现的.虽然一般的联盟一般比加盟更快. 编辑2(回复@seebiscuit的评论) 我不同意他的意见.从技术上来说,无论你的加入有多好,“加入”还是比纯粹的连接更昂贵.我做了一个博文,以证明它在我的博客codePERF[dot]net.实际上,他们的服务器2完全不同的目的,更重要的是确保你的索引是正确的,并使用正确的工具的工作. 从技术上来说,我认为可以使用我的博客文章中的以下2个执行计划来总结: UNION全部执行计划 加盟执行计划 实际成果 实际上,集群索引查找的差异可以忽略不计: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |