浅谈SQL SERVER2000T-SQL的运行
2008-09-04 10:00:33 来源:WEB开发网 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鐐劤缂嶅﹪寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閹冣挃闁硅櫕鎹囬垾鏃堝礃椤忎礁浜鹃柨婵嗙凹缁ㄧ粯銇勯幒瀣仾闁靛洤瀚伴獮鍥敍濮f寧鎹囬弻鐔哥瑹閸喖顬堝銈庡亝缁挸鐣烽崡鐐嶆棃鍩€椤掑嫮宓佸┑鐘插绾句粙鏌涚仦鎹愬闁逞屽墰閹虫捇锝炲┑瀣╅柍杞拌兌閻ゅ懐绱撴担鍓插剱妞ゆ垶鐟╁畷銉р偓锝庡枟閻撴洘銇勯幇闈涗簼缂佽埖姘ㄧ槐鎾诲礃閳哄倻顦板┑顔硷工椤嘲鐣烽幒鎴旀瀻闁规惌鍘借ⅵ濠电姷鏁告慨顓㈠磻閹剧粯鈷戞い鎺嗗亾缂佸鏁婚獮鍡涙倷閸濆嫮顔愬┑鐑囩秵閸撴瑦淇婇懖鈺冪<闁归偊鍙庡▓婊堟煛鐏炵硶鍋撻幇浣告倯闁硅偐琛ラ埀顒冨皺閺佹牕鈹戦悙鏉戠仸闁圭ǹ鎽滅划鏃堟偨缁嬭锕傛煕閺囥劌鐏犻柛鎰ㄥ亾婵$偑鍊栭崝锕€顭块埀顒佺箾瀹€濠侀偗婵﹨娅g槐鎺懳熺拠鑼舵暱闂備胶枪濞寸兘寮拠宸殨濠电姵纰嶉弲鎻掝熆鐠虹尨宸ョ€规挸妫濆铏圭磼濡搫顫嶇紓浣风劍閹稿啿鐣烽幋锕€绠婚悹鍥у级瀹撳秴顪冮妶鍡樺鞍缂佸鍨剁粋宥夋倷椤掍礁寮垮┑鈽嗗灣閸樠勭妤e啯鍊垫慨妯煎亾鐎氾拷

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 SERVER的关系引擎部分
大家可以看出在图一的左边,主要是T-SQL的解析,编译和查询优化(Query Optimizer).这是SQL SERVER运行T-SQL非常关键的部分.在图的右边是执行组件,当T-SQL语句编译过后就会直接传给执行结构进行运行.在中间的部分是SQL管理器,控制整个T-SQL批处理的解析,编译和执行. SQL Message 是从客户端接受的(TDS)数据.Express Services Libary是进行数据转换,过虑数据和进行计算和统计,同时也会格式化输出的数据.
- ››SQL Server 2008 R2 下如何清理数据库日志文件
- ››sqlite 存取中文的解决方法
- ››SQL2005、2008、2000 清空删除日志
- ››SQL Server 2005和SQL Server 2000数据的相互导入...
- ››sql server 2008 在安装了活动目录以后无法启动服...
- ››sqlserver 每30分自动生成一次
- ››sqlite 数据库 对 BOOL型 数据的插入处理正确用法...
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
更多精彩
赞助商链接