09 2010 档案
摘要:子查询是强有力的工具,它可以书写许多表达式和许多复杂的查询。有很多不同类型的子查询和很多使用子查询的不同方式。子查询是基本的连接。然而,一些子查询产生更复杂的连接使用非常不同寻常的连接特性。在讨论具体例子之前,可以从不同方面对子查询进行分类。子查询采用3种计划来进行分类。l 不相关 vs 相关子查询。不相关子查询不依赖外部查询,可以独立于外部查询而被评估,并且为外部查询的每一行返回相同的结果。只能从外部查询的上下文中来被估计,并且可能为外部查询的每一行返回不同的结果。l 标量 vs 多行子查询。标量子查询返回或期望返回单一行(也就是单行),然而,多行子查询可能返回一个结果集。l 有子查询出现的
阅读全文
摘要:前面几篇文章作为自己的读书笔记(SQLServer 2005技术内幕:查询、调整和优化),基本都是书上的内容,没敢放在首页上。现在学习SQL Server都是理论知识,自己有个习惯,一直看理论看下去不容易吸收,所以看到“聚合”这一节决定写写代码,用来加深对SQL Server执行计划的理解。首先看看我在在SQL Server中是怎么处理连接查询和分组查询的。代码Code h...
阅读全文
摘要:对于聚合,SQL Server支持两种物理操作符:流聚合与哈希聚合。标量聚合标量聚合通过在选择列表中没有GROUP BY语句的聚合函数查询。标量聚合总是返回一个单一的行。SQL Server总是使用流聚合操作符实现标量聚合。下面是个简单的例子:[代码]这个查询产生下面的计划:流聚合操作符就是计算输入行的大小并返回结果。流聚合实际计算Bigint的总数([Expro1004])。计算的数量需要把这个...
阅读全文