TechTarget中国网站推荐

SQL Server 2005合并联接算法(三)

2008-8-26  选择字号:  | |
打印本文章

  如果我们换一下,将select a.*换成select *, 看看成本

  SQL Server 2005合并联接算法(图二)

  这里hash连接是最优的算法

  执行结果:  

(10468 行受影响) 
  表’workflowbase1’。扫描计数3,逻辑读取1571 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。 
  表’workflowinfo1’。扫描计数3,逻辑读取9604 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。 
      (10468 行受影响)y 
  表’Worktable’。扫描计数0,逻辑读取0 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。 
  表’workflowinfo1’。扫描计数1,逻辑读取9604 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。 
  表’workflowbase1’。扫描计数1,逻辑读取1571 次,物理读取0 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。
 

  这里的hash和merge的io次数一样,但merge连接里多了一个排序操作,占到整个成本的60&,的确验证了上面的一句话:

  合并联接本身的速度很快,但如果需要排序操作,选择合并联接就会非常费时。

  两个联接输入并不小但已在二者联接列上排序,则合并联接是最快的联接操作。如果没有排序hash连接是最优的操作。

  注意:这里的排序指两个输入集合必须按相等列进行分别排序。而不是按其他列排序。


SQL Server 2005合并联接算法
 SQL Server 2005合并联接算法(一)
 SQL Server 2005合并联接算法(二)
 SQL Server 2005合并联接算法(三)

原文出处:http://database.ctocio.com.cn/tips/152/8276652_2.shtml
来源:BLOG    作者:zping    
怎样在SQL Server中使用证书来创建用来在数据库中进行加密和解密的对称密钥?你可以使用CREATE SYMMETRIC KEY语句……
SQL Server 2005一个令人激动的特性是内置了加密的功能。在这个新版的SQL Server中,开发团队直接在T-SQL中加入了加密工具、证书创建和密钥管理的功能。
当你配置好服务主密钥和数据库主密钥之后,你又将如何创建证书呢?SQL Server可以创建自签名的X.509证书。本篇介绍如何使用CREATE CERTIFICATE语句来创建证书。
SQL Server 2008有允许SQL Server存储引擎将数据压缩到行和页面里的功能,部分功能在SQL Server 2005服务包2中已经提到。但是这一功能在企业版中受到了限制,并且更多地与行政相关。
视图和数据类型的定义分别是什么?视图是就存储T-SQL语言的,而T-SQL语言则用SELECT语句来显示一个表到更多个表的数据,视图参考的表通常指的是视图基表。数据类型是指……
本篇文章主要介绍SQL Server数据存储的物理对象和原理,包括SQL Server 2005和2008里的物理数据存储、SQL Server 2008数据类型(即Datetime、字符串、自定义及等)、在SQL Server数据库中加强数据的完整性……
本文为SQL Server 2008初学者指南,主要介绍SQL Server2008 T-SQL支持的基本元素和基本操作。
本篇技术专题主要内容包括SQL Server整合、SQL Server数据库设计灾难、SQL Server数据库查询设计以及SQL Server数据库同步、复制、报告显示。
最新更新
专家答疑
技巧
Brian Peasland
我在使用这个工具的时候就出现了以上的错误。由于出现了这个错误,我就没有顺利地完成备份。你能告诉我是什么原因吗?
Rudy Limeback
我想把这些日期按照月份聚集在一起,这样我们就能查看每个售货员每个月的销售量了。我怎么才能将这些月份的日期聚集在一起呢?
Maria Anderson
我得到了一个错误信息,如“DIM-00019:创建服务错误。”我用你寄给我的解决方案解决这一问题,即:“手动创建和启动服务。”你能告诉我如何手动安装该服务吗?