WEB开发网
开发学院数据库MSSQL Server 浅谈SQL SERVER2000T-SQL的运行 阅读

浅谈SQL SERVER2000T-SQL的运行

 2008-09-04 10:00:33 来源:WEB开发网   
核心提示:T-SQL(Trantsact-SQL)是微软公司在SYBASE的基础上发展起来的一种结构化查询语言,是应用程序和存储过程与SQL SERVER通讯和访问的工具.包涵了ANSI89和ANSI92标准.所以T-SQL不是一种标准的编程语言,它必须通过SQL SERVER的数据引擎来分析和运行,SQL SERVER是如何编

T-SQL(Trantsact-SQL)是微软公司在SYBASE的基础上发展起来的一种结构化查询语言,是应用程序和存储过程与SQL SERVER通讯和访问的工具.包涵了ANSI89和ANSI92标准.所以T-SQL不是一种标准的编程语言,它必须通过SQL SERVER的数据引擎来分析和运行,SQL SERVER是如何编译和运行T-SQL语句呢?

SQL SERVER在处理任何T-SQL语句时都经过下面三个步骤:

1.解析T-SQL语句

2.编译T-SQL语句

3.执行T-SQL语句

当一个T-SQL的批处理提交到SQL SERVER服务器,服务器回将这个T-SQL批处理作为一个整体进行分析,再优化,编译,最后再分步执行.

一. 解析

所谓”解析”是指SQL SERVER命令解析模块首先检查T-SQL批处理语法的过程,如果没有找到错误,命令解析器将源代码细分为多个逻辑单元,比如:关键字,标识符以及运算符.然后命令解析器会构建一个内部结构,最后通过这个内部结构生成DDL操作或DDM操作所需要的详细的步骤.如果该T-SQL批处理包涵一个查询,那么这个内部结构被成为查询树(QUERY TREE),如果该T-SQL批处理是一个过程,那么这个内部查询被成为顺序树(SEQUENCE TREE).

浅谈SQL SERVER2000T-SQL的运行

图一:SQL SERVER的关系引擎部分

大家可以看出在图一的左边,主要是T-SQL的解析,编译和查询优化(Query Optimizer).这是SQL SERVER运行T-SQL非常关键的部分.在图的右边是执行组件,当T-SQL语句编译过后就会直接传给执行结构进行运行.在中间的部分是SQL管理器,控制整个T-SQL批处理的解析,编译和执行. SQL Message 是从客户端接受的(TDS)数据.Express Services Libary是进行数据转换,过虑数据和进行计算和统计,同时也会格式化输出的数据.

1 2 3  下一页

Tags:SQL SERVER SQL

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