SQL Server 2005合并联接算法

简介:

如果两个联接输入并不小但已在二者联接列上排序(例如,如果它们是通过扫描已排序的索引获得的),则合并联接是最快的联接操作。如果两个联接输入都很大,而且这两个输入的大小差不多,则预先排序的合并联接提供的性能与哈希联接相近。

从上次我们分析来看,嵌套循环适合输入和输出都小的情况,那如果输入和输入都比较大情况下,使用合并算法什么情况下最优。

最佳使用:

合并联接本身的速度很快,但如果需要排序操作,选择合并联接就会非常费时。然而,如果数据量很大且能够从现有 B 树索引中获得预排序的所需数据,则合并联接通常是最快的可用联接算法。

我们来测试一下,合并连接的最优情况:

测试环境:表:workflowinfo1 约45万条 表workflowbase1 约4.5万条

条件:workflowbase1中列id,creater都建立索引,workflowinfo1中workflowid建立了索引。

如果两个联接输入并不小但已在二者联接列上排序(例如,如果它们是通过扫描已排序的索引获得的),则合并联接是最快的联接操作。如果两个联接输入都很大,而且这两个输入的大小差不多,则预先排序的合并联接提供的性能与哈希联接相近。~:(creater=4028814110830a1e01108fe379e60061’的workflowbase1表有1023条数据)

测试语句:

合并算法

select a.* from workflowbase1 a inner merge join dbo.workflowinfo1 b
on a.id=b.workflowid and a.creater='4028814110830a1e01108fe379e60061'

hash算法

select a.* from workflowbase1 a inner hash join dbo.workflowinfo1 b
on a.id=b.workflowid and a.creater='4028814110830a1e01108fe379e60061'

注意:这两条SQL和上一个嵌套循环的例子有区别,一个 select * 和一个是 select a.*

重启数据库服务,查看成本:

时间: 2024-09-26 06:49:59

SQL Server 2005合并联接算法的相关文章

SQL Server 2005 中的商务智能和数据仓库(1)

本文概述了 SQL Server 2005 Beta 2 中"商务智能"平台的增强功能.本文并非实施指南,而是为读者提供了关于"商务智能"平台增强功能的信息. 一.简介 Microsoft SQL Server 2005 是一个完整的商务智能 (BI) 平台,其中为用户提供了可用于构建典型和创新的分析应用程序所需的各种特性.工具和功能.本文简要介绍了您在构建分析应用程序时将要用到的一些工具,并着重介绍了一些新增功能,这些新增功能使复杂 BI 系统的构建和管理比以往更

通过 SQL Server 2005 索引视图提高性能

本文介绍了 SQL Server 2005 Enterprise Edition 中经过改进的索引视图功能.文中对索引视图进行了说明介绍,并讨论了可通过该功能改善性能的一些具体情况 一.索引视图 多年以来,Microsoft SQL Server 一直支持创建称为视图的虚拟表.通常,这些视图的主要作用是: • 提供一种安全机制,将用户限制到一个或多个基表的某个数据子集中. • 提供一种机制,允许开发人员自定义用户通过逻辑方式查看存储在基表中的数据的方式. 通过 SQL Server 2000,S

SQL Server 2005 中的商务智能和数据仓库(2)

例如,设想一个"客户"维度.关系型源表有八列: • 客户键 • 客户名称 • 年龄 • 性别 • 电子邮件 • 城市 • 地区 • 国家 相应的 Analysis Services 维度应具有七个属性: • 客户(整型键.以"客户名称"作为名称) • 年龄.性别.电子邮件.城市.地区.国家 数据中存在一种自然层次结构,{国家.地区.城市.客户}.出于导航目的,应用程序开发人员可以选择创建第二个层次结构:{年龄.性别}.商务用户并没有看到这两个层次结构行为方式之间有何

解析 SQL Server 2005 商业智能特点

本文从数据库商业智能特征方面讲述了SQL Server 2005的10个最重要的特点-- 分析服务 SQL Server2005的分析服务迈入了实时分析的领域.从对可升级性性能的增强.到与微软Office软件的深度融合,SQL Server2005将帮助您,将商业智能扩展到您业务的每一个层次. 数据传输服务(DTS) DTS数据传输服务是一套绘图工具和可编程的对象,您可以用这些工具和对象,对从截然不同来源而来的数据进行摘录.传输和加载(ETL),同时将其转送到单独或多个目的地.SQL Serve

SQL Server 2005版本特性介绍

作为微软下一代的数据管理与商业智能平台,SQL Server 2005将是微软5年来具有里程碑性质的企业级数据库产品.和以往的数据解决方案相比,SQL Server 2005将给您带来空前的价值.超强的功能和激动人心的全新体验. SQL Server 2005中包含了非常丰富的新特性:通过提供一个更安全.可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运维风险和成本:通过提供先进的商业智能平台满足众多客户对业务的实时统计分析.监控预测等多种复杂管理需求,推动企业

SQL Server 2005 CE基础概要

SQL Server 2005 Compact Edition(本文以后均将SQL Server 2005 Compact Edition缩写为SQL Server CE)是微软推出的一个适用于嵌入到移动应用的精简数据库产品,Windows Mobile开发人员能够使用SQL Server CE开发出将数据管理能力延展到Window Mobile移动设备上的应用程序.虽然SQL Server CE占用的磁盘空间只有3到5兆左右,但是它功能并没有像它的容量那样大幅度缩水.SQL Server CE

在 SQL Server 2005 中使用表值函数来实现空间数据库

server|函数|数据|数据库 Gyorgy Fekete 和 Alex Szalay约翰霍普金丝大学 Jim GrayMicrosoft(联系作者) 适用于Microsoft SQL Server 2005 摘要:本文说明了如何使用 C# 和表值函数将空间搜索函数("邻近点的点"和"多边形内的点")添加到 Microsoft SQL Server 2005.使用此库可以在不编写任何特殊代码的情况下向应用程序中添加空间搜索.此库实现了来自约翰霍普金丝大学的公共域

SQL Server 2005 版本特性介绍

server 作为微软下一代的数据管理与商业智能平台,SQL Server 2005 将是微软5年来具有里程碑性质的企业级数据库产品.和以往的数据解决方案相比,SQL Server 2005将给您带来空前的价值.超强的功能和激动人心的全新体验.www.想自杀iTbulo.comkU1kZh7 SQL Server 2005 中包含了非常丰富的新特性:通过提供一个更安全.可靠和高效的数据管理平台,增强企业组织中用户的管理能力,大幅提升IT管理效率并降低运维风险和成本:通过提供先进的商业智能平台满足

解析SQL Server 2005商业智能特点

本文从数据库商业智能特征方面讲述了SQL Server 2005的10个最重要的特点-- 分析服务 SQL Server2005的分析服务迈入了实时分析的领域.从对可升级性性能的增强.到与微软Office软件的深度融合,SQL Server2005将帮助您,将商业智能扩展到您业务的每一个层次. 数据传输服务(DTS) DTS数据传输服务是一套绘图工具和可编程的对象,您可以用这些工具和对象,对从截然不同来源而来的数据进行摘录.传输和加载(ETL),同时将其转送到单独或多个目的地.SQL Serve