网管联盟 | 网管论坛 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 俱乐部 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > windows > 服务器技术 > SQL服务器 > MS SQL Server 7.0 查询处理器  

MS SQL Server 7.0 查询处理器 评论 论坛

2003-02-28   作者:网管联盟整理   来源:中国网管联盟   PV:

关键词:查询 处理器 优化 执行 计划 数据库 基于 语法 选择 关系


  引言
  Microsoft® SQL® Server 7.0 版是 Microsoft 数据库产品的定义版本,它建立在 Microsoft SQL Server 6.5 版所确立的坚实基础之上。用户的需要和要求推动了 SQL Server 7.0 中重大的产品创新。作为 Microsoft Windows® 操作系统系列产品最佳的关系数据库管理系统 (RDBMS),SQL Server 是各个领域的公司用户和独立软件商 (ISV) 的正确选择。
  
  本文对 SQL Server 查询处理器中的创新和改进进行了描述,SQL Server 查询处理器是数据库服务器中接受 SQL 语法,确定如何执行该语法以及执行选择的计划的部分。与其它商业上可用的 RDBMS 产品相比,SQL Server 7.0 是重大创新的源泉。
  
  在简要介绍查询处理器作用、类型及查询处理组件之后,将讨论以下主题:
  
  Microsoft SQL Server 7.0 的目标
  查询执行
  查询优化
  分布式查询
  处理查询
  有关详细信息,请参见“存储引擎”白皮书(文档编号 098-80769),英文网址为: http://www.microsoft.com/sql/beta 。 [bitsCN_com]
  
  关系数据库由许多部分组成,但是在它的核心部分有两个主要组件:“存储引擎”和“查询处理器”。存储引擎将数据写入磁盘,并从磁盘读取数据。它管理记录、控制并发性,并维护日志文件。
  
  查询处理器接受 SQL 语法、确定如何执行该语法,并执行选择的计划。用户或程序与查询处理器交互,而查询处理器与存储引擎交互。注意,查询处理器将用户与执行的详细情况隔离开:用户决定结果,查询处理器确定该结果是如何获得的。
  
  查询处理有两个主要阶段:“查询优化”和“查询执行”。
  
  查询优化是选择执行得最快的计划的过程。在优化阶段,查询处理器选择:
  
  如果有索引的话,使用哪些索引。
  执行联接的顺序。
  类似 WHERE 子句的约束的应用顺序。
  根据从统计数据导出的成本核算信息,采用哪些算法有望达到最佳性能。
  查询执行是执行在查询优化过程中所选择的计划的过程。查询执行组件还确定查询优化器可用的技术。例如,SQL Server 既实现哈希联接算法,也实现和合并联接算法,两种都是查询优化器的可用算法。
  
  查询优化器是关系数据库系统的大脑。尽管几乎任何任务都能够手动完成,但是查询处理器使关系数据库能够漂亮而有效地完成工作。 bbs.bitsCN.com中国网管论坛
  
  作为一个类比,设想两个建筑公司。两个公司都接到了建筑一所房屋的任务。要建筑的房屋必须达到一定大小,而且必须有一定数量的窗户、一定数量的卧室和盥洗室、一个厨房,等等。第一家公司在开始工作之前先制定计划。他们确定所需步骤的顺序、哪些步骤可以同时进行、哪些步骤取决于其前的步骤,以及哪些工人最适合执行不同的任务。第二家建筑公司没有作计划。他们随便捡起手头儿现有的工具就开始施工了。
  
  除非任务很简单(而建一个房子通常不是简单的事),否则事先作计划的公司更有可能先完成。同样的原因,带有较完善的查询优化器的关系数据库更有可能比带有简单查询优化器的关系数据库以更快的速度完成查询,特别是复杂的查询。
  
  可用工具的类型也决定了一项工作的执行速度,而且在某种意义上讲,决定能够应付什么样的工作。例如,自动倾卸卡车对于建造房屋来说可能是合适的工具,但是对清理花园来说就不合适。与之类似,关系数据库必须不仅只有一个完善的查询优化器,还必须有查询执行的正确的可用工具,而且必须为工作选择正确的工具。 DL@bitsCN_com网管软件下载
  
  在关系数据库中有两种主要的查询优化器类型:“基于语法的查询优化器”和“基于开销的查询优化器”。
  
  基于语法的查询优化器
  基于语法的查询优化器为获得对 SQL 查询的应答结果创建一个过程计划,但是它选择的特定计划取决于查询的确切语法及查询中的子句顺序。无论数据库中记录的数目或组合是否随时间变化而更改,基于语法的查询优化器每次都执行同样的计划。与基于开销的查询优化器不同,它不查看或维护数据库的统计记录。
  
  基于开销的查询优化器
  基于开销的查询优化器在备选计划中选择应答 SQL 查询的计划。选择是基于对执行特殊计划的开销估算(I/O 操作数、CPU 秒数,等等)而作出的。它通过记录表或索引中记录的数目和构成的统计数字估算这些开销。与基于语法的查询优化器不同,它不依赖于查询的确切语法或查询中的子句顺序。
  
  SQL Server 6.5 和 SQL Server 7.0 都实现了基于开销的查询优化器。SQL Server 7.0 在查询优化器和查询执行引擎的完善性方面提供了可观的改进。 中国_网管联盟bitsCN.com
  

收藏本文】 【推荐好友】 【欢迎投稿】 【打印本文
上一篇:Transact-SQL 语法规则   下一篇:支持全文检索的 SQL Server 的扩展
 相关文章:
·Transact-SQL 语法规则 ·支持全文检索的 SQL Server 的扩展
·SQL Server7.0 数据库备份与恢复 ·SQL Server 2000 XML 概述
·SQLServer中 如何取出一个表的所有列名 ·UDF—MSQL Server 2000的新特性
MS SQL Server 7.0 查询处理器 评论:
    评论加载中…
  
  责任编辑:网盟  声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。
 
本类热门排行:
1.部署 Microsoft SQL Serv
2.通用SQL数据库查询语句精华使用简介
3.SQL入门:创建表
4.安装指南:SQL Server 2005安装及界面
5.在SQL Server 2000查询分析器里面收缩数
6.如何远程连接局域网内的sql server
7.SQL Server的数据类型介绍
8.剖析SQL Server 2005查询通知之基础篇
9.SQL Server定期自动备份
10.SQL Server 2005:数据类型最
最新推荐文章:
1.关于SQL Server中索引使用及维护简介
2.SQL Server数据在不同数据库中的应用
3.教你如何在SQL Server计算列和平均值
4.SQL Server 2005 - 实作CLR存储过程
5.部署 Microsoft SQL Server 2005 群集
6.SQL Server 2005与DB2 8.2之对比
7.专家谈SQL Server 2005 CLR
8.SQL Server 2005:向系统表说再见(图)
9.保护SQL服务器的安全-用户识别问题
10.如何应用SQL Server中的DBCC避免堵塞
本类最新文章:
1.50种方法巧妙优化SQL Server数据库
2.在SQL Server中使用CLR调用.NET方法
3.比较SQL Server约束和DML触发器
4.向外扩展SQL Server 实现更高扩展性
5.SQL Server 查询分析器快捷键集合
6.用SQL Server 2005同义字缩短开发时间
7.关于SQL Server中索引使用及维护简介
8.SQL Server数据在不同数据库中的应用
9.SQL Server如何访问sybase数据库的表
10.动态创建MSSQL数据库表存储过程
网管论坛交流:
·情人节快乐
·版主其实很辛苦(献给中国网管论坛所有版
·下雪了(精华哈)
·流量控制/限速讨论专贴(随时整理+更新
·经过了试用期,我自己写的述职报告!有用
·转网络中最美丽的行为
·过年了,早点回家看看爹娘
·图文并茂教你组建磁盘阵列
·计算机日常清洁维护方法
·郁闷啊,服务器修好了,可是……