网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > PL/SQL > 使用查询分析器调整SQL服务器脚本  

使用查询分析器调整SQL服务器脚本

2003-07-19  作者:BitsCN整理  来源:中国网管联盟  点评 投稿 收藏


  我喜欢把SQL服务器所捆绑的工具看作是倒金字塔型的,诊断和检查一般问题的工具在顶端,寻找和诊断问题具体区域的工具在底部。除了提供一种编写SQL脚本的便捷方式之外,在你需要解决特定SQL脚本里明确问题的时候,查询分析器(Query Analyzer)还是所需要使用的资源。如果你需要指出哪个查询正在保持着某个特定表格的锁定状态,你也会希望使用查询分析器。
  
  查询分析器的关键诊断特性是它能够显示某个查询的执行计划。这个执行计划会向你提供各种类型的有用信息,例如在查询的执行期间如何以及何时使用或者不使用索引。它还会提供许多其他的细节,例如排序、平行(parallelism)、嵌套循环,以及SQL服务器在执行指定查询时必须做的其他事情。
  
  计划的好处
  
  
  有了查询分析器,你就可以查看预计计划而不需要运行查询本身,或者在查询执行之后查看真实的计划。很显然,真实的计划会更加准确,因为它是从物理上对数据库运行查询的。但是对于系统负载巨大和/或长期的查询,这种方法可能就不是最好的选择了。在典型情况下,当我认为某个特定的查询有问题的时候,或者如果我预计有一个查询会在应用程序里被足够频繁地调用以至于可能会导致性能问题的时候,我就会运行这个工具。 网管u家u.bitscn@com
  
  你可以通过把SQL表达式输入查询分析器再按[Ctrl]L来查看预计的执行计划。执行计划然后就会显示在结果(Results)面板的选项卡里。执行计划在刚开始的时候可能比较难读,因为它不像英语一样是从左往右读的,而是从右往左读的。
  
  
  运行中的计划
  
  这里有一个你可以跟着做的例子,从这个例子里你可以看到如何使用查询分析器来查看一个执行计划。考虑一下下面查询,它会从Northwind数据库里返回某个雇员所在的地点和相关地区:
  
  SELECT
  TerritoryDescription, RegionDescription
  FROM
  Employees e
  JOIN EmployeeTerritories et ON e.employeeid = et.employeeid
  JOIN Territories t ON et.territoryid = t.territoryid
  JOIN Region r ON t.regionid = r.regionid
  WHERE
  e.employeeid = 1
  ORDER BY
  TerritoryDescription, RegionDescription
  
  这个查询的结果显示:一号EmployeeId在东部(Eastern)有两个地区,如图A所示。
  
  图A
   
  查询结果
  图B显示了SQL服务器从示例查询所生成的预计执行。这个图标中的每个节点都代表着SQL服务期执行示例查询所采取的步骤。要注意,每个节点包括一个预计的相对消耗,以及执行计划被显示的时候SQL服务器所使用的每个索引的名称。

网管u家bitscn.net


  
  图B
  
   
  执行计划
  你可以把鼠标放在执行计划的每个节点上以获取更多关于该步骤的信息,例如该节点所代表的操作类型、受影响的行数,以及和该步相关的消耗的分解。图C显示的是图B里针对第一个节点的额外信息。这些弹出窗口里的信息能够提示你可以对查询做出哪些改进,如果能够改进的话。
  
  图C
  
  和索引调节向导一起使用
  你可以将查询分析器和SQL服务器的索引调节向导(Server’s Index Tuning Wizard,ITW)一起使用。我通常使用SQL服务器的Profiler来收集要送入ITW的数据。但是有时候,我会使用查询分析器,如果我认为它代表着我正在进行测试时的某种活动类型的话。你可以从查询(Query)菜单来访问ITW;它能够对在活动编辑面板里的SQL脚本做出性能建议。
  
TAGs服务器   脚本   调整   查询   分析   计划   执行   SQL    
 上一篇:从IIS转到SQL数据库安全   下一篇:如何在SQL *Plus中把数据库栏以变量的形式保存
相关文章列表
使用查询分析器调整SQL服务器脚本 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
1.PL/SQL - 嵌套游标 cursor-PLSQL
2.用一个实例讲解Oracle数据库的PL/SQL语句
3.PL/SQL----触发器-PLSQL
4.mysql存储过程写法—动态参数运用-PLSQL
5.PL/SQL Developer导出分区索引脚本-PLSQL
6.PL/SQL collection— table() 函数-PLSQL
7.SQL Server 2005 中的架构与用户-PLSQL
8.Oracle数据库维护常用SQL语句集合(2)-P
9.Oracle数据库维护常用SQL语句集合(3)-P
10.再议SQL Server临时表和表变量-PLSQL
最新推荐文章:
1.与数据库无关的处理放到数据库以外来实现
2.Oracle 10g第2版新特性之SQL和PL/SQL
3.通过PL/SQL访问Web Services
4.菜鸟学oracle - 用PL/SQL画直方图
5.重新编译PLSQL中无效对象或指定对象
6.Oracle高级技巧
7.深入了解Oracle 10g新的多重集运算符
8.在SQL中删除重复记录(多种方法)
9.Oracle:PL/SQL中怎样使用Array
10.数据库手册:速查Oracle函数列表
网管论坛交流:
·大家来开心一下吧---看了会很开心的东西-
·中国人不可不知道的知识
·@@小鹏◎◎小鹏同志与某位女明星亲密接触
·◎◎小鹏◎◎发现不明生物,居然正在交配
·[图文]^^^版主是什么?????
·泡论坛的女人是好女人
·做个“水性杨花”的女人
·献给mm俱乐部的所有mm
·深圳一集团企业电脑基础应用培训教程
·■■■■十一遊玩照■■■■■