开发者社区> 问答> 正文

SQL Server关系引擎包含什么组件?

SQL Server关系引擎包含什么组件?

展开
收起
xin在这 2021-12-08 16:57:32 419 0
1 条回答
写回答
取消 提交回答
  • 命令解析器

    命令解析器处理发送给SQL Server的T-SQL语言事件。它可以检查T-SQL语法的正确性并把其翻译为可以执行的内部格式。这种内部格式称为查询树。

    查询优化器

    查询优化器从命令解析器获得查询树,并为它的实际执行作准备。不能优化的语句例如控制流和DDL命令将会被编译成一种内部格式。可优化的语句会被标记并随 后传送给优化器。查询优化器主要关注DML语句,包括:SELECT, INSERT,UPDATE和DELETE。这些语句可以有多种处理方式,由查询优化器来判断哪种处理方式是最佳的。查询优化器将编译整个批命令,优化可 以优化的查询并检查安全性。查询优化和编译的结果就是一个执行计划。

    SQL 管理器

    SQL 管理器负责管理与存贮过程及其执行计划有关的一切事务。它会判断什么时候一个执行计划需要重新编译,并管理存储过程的缓冲区以便其它进程能够重用这些缓冲 区。SQL管理器也负责管理查询的自动参数化。在SQL Server 2005中,某些定制的查询会被视为参数化的存储过程,SQL Server会为这些查询生成并保存执行计划。但是在一些情况下复用保存的执行计划也许并不合时宜,从而需要重新编译该执行计划。

    数据库管理器

    数据库管理器管理查询编译和查询优化所需的对元数据的访问,这使我们可以看清其实所有这些单独的模块都不能完全脱离其它模块来运行。元数据被作为数据存储 并由存储引擎来进行管理,但是某些元数据要素例如各数据列的数据类型和一张表上可用的索引必须在实际的查询执行开始之前就能够访问。

    查询执行器

    查询执行器运行查询优化器生成的执行计划,它就像一个调度员负责调度执行计划中的所有命令。该模块逐步地运行执行计划中的每一个命令直到该批命令结束。其中大多数命令都需要与存储引擎进行交互来修改或取回数据以及管理事务和锁。

    2021-12-08 17:01:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
SQL Server 2017 立即下载
GeoMesa on Spark SQL 立即下载
原生SQL on Hadoop引擎- Apache HAWQ 2.x最新技术解密malili 立即下载