命令解析器
命令解析器处理发送给SQL Server的T-SQL语言事件。它可以检查T-SQL语法的正确性并把其翻译为可以执行的内部格式。这种内部格式称为查询树。
查询优化器
查询优化器从命令解析器获得查询树,并为它的实际执行作准备。不能优化的语句例如控制流和DDL命令将会被编译成一种内部格式。可优化的语句会被标记并随 后传送给优化器。查询优化器主要关注DML语句,包括:SELECT, INSERT,UPDATE和DELETE。这些语句可以有多种处理方式,由查询优化器来判断哪种处理方式是最佳的。查询优化器将编译整个批命令,优化可 以优化的查询并检查安全性。查询优化和编译的结果就是一个执行计划。
SQL 管理器
SQL 管理器负责管理与存贮过程及其执行计划有关的一切事务。它会判断什么时候一个执行计划需要重新编译,并管理存储过程的缓冲区以便其它进程能够重用这些缓冲 区。SQL管理器也负责管理查询的自动参数化。在SQL Server 2005中,某些定制的查询会被视为参数化的存储过程,SQL Server会为这些查询生成并保存执行计划。但是在一些情况下复用保存的执行计划也许并不合时宜,从而需要重新编译该执行计划。
数据库管理器
数据库管理器管理查询编译和查询优化所需的对元数据的访问,这使我们可以看清其实所有这些单独的模块都不能完全脱离其它模块来运行。元数据被作为数据存储 并由存储引擎来进行管理,但是某些元数据要素例如各数据列的数据类型和一张表上可用的索引必须在实际的查询执行开始之前就能够访问。
查询执行器
查询执行器运行查询优化器生成的执行计划,它就像一个调度员负责调度执行计划中的所有命令。该模块逐步地运行执行计划中的每一个命令直到该批命令结束。其中大多数命令都需要与存储引擎进行交互来修改或取回数据以及管理事务和锁。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。