详解用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;
生成结果:
执行计划流程图:
图片看不清楚?请点击这里查看原图(大图)。
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››详解android 多媒体数据库
- ››sqlite 存取中文的解决方法
- ››详解Linux 系统命令及其使用
- ››SQL2005、2008、2000 清空删除日志
- ››详解什么是智能dns解析
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››详解Win 8系统登录密码
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
更多精彩
赞助商链接