【SQL Server】存储过程的设计概念(3)T-SQL的编译和执行过程

来源:互联网 发布:手机壁纸软件哪个好 编辑:程序博客网 时间:2024/06/08 04:04
 开发人员在运行任何T-SQL语句批处理时,SQL SERVER都要执行以下3步:
       1、解析批处理
       2、编译批处理
       3、执行批处理开发人员在运行任何T-SQL语句批处理时,SQL SERVER都要执行以下3步:
       1、解析批处理
       2、编译批处理
       3、执行批处理
解析
  所谓“解析”是指SQL SERVER 命令解析模块首先检查批处理语法的过程。如果没有找到错误,命令解析器将源代码细分成多个逻辑单元,比如关键字、标识符以及运算符。接着解析器构建一个内部结构,然后使用这个内部结构描述执行请求操作或从源数据提取请求结果集所需的一系列步骤。如果该批处理包含一个查询,那么这个内部结构被称作一个查询树;如果该批处理包含一个过程,那么他被称为一棵顺序树。

编译:
  在这一步中,顺序树被用来生成一个执行计划。优化器模块对可从源表检索信息的各种方法进行分析。它试图寻找一种利用最小资源的最快方法,同时还补充了执行时需要使用的任务列表(例如:检查安全,确认是否强制约束,如果在处理时需要合并的话,还要包含触发器,等等)。结果是一个被称为执行计划的内被结构。

执行:
  执行计划存储在过程告诉缓存中,它可以在那里被执行。执行计划中的不同步骤将被发送到关系引擎中的不同模块进行执行;DML管理器、DDL管理器、存储过程管理器、事务处理管理器或实用工具管理器。处理结果将以结果集的形式被收集并发送给调用者。
原创粉丝点击