WEB开发网
开发学院数据库MSSQL Server 详解用TSQL在SQL Server实现物理查询数据流 阅读

详解用TSQL在SQL Server实现物理查询数据流

 2009-04-14 10:27:40 来源:WEB开发网   
核心提示:当一个查询到达数据库引擎时,SQL Server执行两个主要的步骤来产生结果,详解用TSQL在SQL Server实现物理查询数据流,第一步是查询编译,他生成查询计划;第二部执行这个查询计划,直接重用缓存的计划来执行该查询或存储过程,安装Northwind数据库,查询编译由三个步骤组成:分析、代数化及查询优化,然后编译

当一个查询到达数据库引擎时,SQL Server执行两个主要的步骤来产生结果。第一步是查询编译,他生成查询计划;第二部执行这个查询计划。

查询编译由三个步骤组成:分析、代数化及查询优化。然后编译器把经过优化的查询计划保存到过程缓存中。然后执行引擎把该计划转换为可执行的形式,然后执行其中的步骤以生成查询结果。如果今后再执行相同的查询或存储过程时,过程缓存已经包含了该计划,则跳过编译步骤,直接重用缓存的计划来执行该查询或存储过程。

安装Northwind数据库,点选“包括实际的执行计划”并执行以下查询:

USE Northwind;
 

GO

SELECT C.CustomerID, COUNT(O.OrderID) AS NumOrders

FROM dbo.Customers AS C

LEFT OUTER JOIN dbo.Orders AS O

ON C.CustomerID = O.CustomerID

WHERE C.City = 'London'

GROUP BY C.CustomerID

HAVING COUNT(O.OrderID) > 5

ORDER BY NumOrders;

生成结果:

详解用TSQL在SQL Server实现物理查询数据流

执行计划流程图:

详解用TSQL在SQL Server实现物理查询数据流

图片看不清楚?请点击这里查看原图(大图)。

1 2 3  下一页

Tags:详解 TSQL SQL

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接