摘要: 简介 在SQL Server中,我们所常见的表与表之间的Inner Join,Outer Join都会被执行引擎根据所选的列,数据上是否有索引,所选数据的选择性转化为Loop Join,Merge Join,Hash Join这三种物理连接中的一种。理解这三种物理连接是理解在表连接时解决性能问题的基 阅读全文
posted @ 2016-06-15 18:06 Ga_N 阅读(390) 评论(0) 推荐(0) 编辑
摘要: 简介 在上篇文章中我们谈到了查询优化器和执行计划缓存的关系,以及其二者之间的冲突。本篇文章中,我们会主要阐述执行计划缓存常见的问题以及一些解决办法。 将执行缓存考虑在内时的流程 上篇文章中提到了查询优化器解析语句的过程,当将计划缓存考虑在内时,首先需要查看计划缓存中是否已经有语句的缓存,如果没有,才 阅读全文
posted @ 2016-06-15 15:29 Ga_N 阅读(409) 评论(0) 推荐(0) 编辑
摘要: 简介 我们平时所写的SQL语句本质只是获取数据的逻辑,而不是获取数据的物理路径。当我们写的SQL语句传到SQL Server的时候,查询分析器会将语句依次进行解析(Parse)、绑定(Bind)、查询优化(Optimization,有时候也被称为简化)、执行(Execution)。除去执行步骤外,前 阅读全文
posted @ 2016-06-15 14:09 Ga_N 阅读(303) 评论(0) 推荐(0) 编辑
摘要: SQL Server 2005(含)以上版本,新增了APPLY表运算,为我们日常查询带来了极大的方便。 新增的APPLY表运算符把右表表达式应用到左表表达式中的每一行。它不像JOIN那样先计算那个表表达式都可以,APPLY必选先逻辑地计算左表达式。这种计算输入的逻辑顺序允许吧右表达式关联到左表表达式 阅读全文
posted @ 2016-06-15 10:11 Ga_N 阅读(584) 评论(0) 推荐(1) 编辑