Microsoft SQL Server 查询处理器的内部机制与结构
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-03-18
个是目录服务组件,用于数据定义语句,例如 CREATE TABLE、CREATE VIEW 等。目录服务组件主要放在关系引擎中,但是实际上大约有三分之一的目录服务组件是在存储引擎中运行的,所以可以看作是共享组件。 关系引擎中的另一种组件是“用户模式调度程序 (UMS)”,这是 sql server(WINDOWS平台上强大的数据库平台) 自己内部的纤程和线程规划器。把任务分配给纤程或线程是一种非常复杂的内部机制,取决于对服务器如何配置,以及在 SMP 系统中允许 sql server(WINDOWS平台上强大的数据库平台) 进行处理器之间的适当的负载平衡。UMS 还可以避免 sql server(WINDOWS平台上强大的数据库平台) 由于同时运行太多的线程而导致性能过低。最后,还有大家熟悉的系统过程,逻辑上它们也属于关系引擎的一部分。这些组件肯定不是服务器代码,因为可以很容易地使用 sp_helptext 检查定义这些过程的 Transact-SQL 代码。但是,系统过程被作为服务器的一部分来对待,因为系统过程的用途是显露重要的服务器能力,像系统表一样,以供应用程序在更高的层次上和更适当的层次上使用。如果应用程序开发人员将较高层次的系统过程 — 更容易使用 — 作为一种接口,即使随着版本的更新,原始层次上的系统表发生变化时,应用程序仍然可以继续使用。 下面我们将讨论当客户机应用程序与 sql server(WINDOWS平台上强大的数据库平台) 交互时客户机的动作。以下是一个 ODBC 调用的例子: SQLExecDirect(hstmt, "SELECT * FROM parts where partid = 7", SQL_NTS) (OLE-DB 也有一个与这个调用几乎直接等价的调用,此处不再讨论这个调用,因为这个调用实际上与 ODBC 调用相同。)该 ODBC 调用取一个 SQL 语句,然后将其发送给 sql server(WINDOWS平台上强大的数据库平台) 来执行。 在这个具体的查询语句中,我们从零件表中提取具有特定零件标识号的所有行。这是特定 SQL 的一个典型例子。在 sql server(WINDOWS平台上强大的数据库平台) 7.0 以前的版本中,特定的 SQL 与存储过程的一个显著差别是,查询优化器所生成的计划从不缓存。查询语句要被读入、编译、执行,然后再抛弃计划。在 sql server(WINDOWS平台上强大的数据库平台) 7.0 中,正如稍后还要讨论的,实际上提供了可以缓存特定查询语句的计划的机制。 在这条语句被送往 sql server(WINDOWS平台上强大的数据库平台) 之前,还必须要问几个问题。所有客户机程序都要提供某种游标说明,所以客户机程序 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 表链接下一篇: SQL SERVER 2000 连接不上的解决方法
关于Microsoft SQL Server 查询处理器的内部机制与结构的所有评论