使用SQL Query Analyzer和SQL Profiler
LastName, OrderDate
FROM Orders, Employees
WHERE Orders.EmployeeID = Employees.EmployeeID
T-SQL 陈述式在 EmployeeID 资料行中联结了 Orders 和 Employees 资料表。评估执行计划结果如图35-9所示。 织梦好,好织梦
图35-9 显示在评估执行的计划窗格的联结操作
在窗格中可以看到两个子树中哪个的消耗较大,也可以看到规划联结操作的类型。SQL Server 支持多种不同的联结操作,包括杂凑联结(hash join)、巢状循环联结(nested loops join)和合并联结(merge join)。复杂的联结操作,执行计划会相对的变得复杂。由于您的目的是要减少占用 CPU 时间总量,以及减少执行 I/O 操作的数目,所以必须判定是否使用了好的执行计划。有时可以使用提示来指定需要使用的非凡索引,从而减少 CPU 和 I/O 行为。在这个查询中,由于联结是指定在 WHERE 子句中的唯一操作,这个执行计划应该是最适合的。
检视总计操作
下面显示的 T-SQL 陈述式执行连结操作和总计操作,请在 Query Analyzer 中输入:
SET QUOTED_IDENTIFIER ON
GO
SELECT CustomerID, SUM("Order Details".UnitPrice)
FROM Orders JOIN "Order Details" ON Orders.OrderID = "Order
Details".OrderID
GROUP BY CustomerID
________________________________________
说明
因为数据表名称 Order Details 包含了一个要害词和一个空格,所以必须使用选项 SET QUOTED_IDENTIFIER ON。要获得更多关于这个选项的信息,请参阅《在线丛书》索引中的 SET QUOTED_IDENTIFIER。 本文来自织梦
________________________________________
这个复合操作的评估执行的计划窗格显示在图35-10。 本文来自织梦
图35-10 显示在评估执行的计划窗格中的总计操作
检视预存程序
要显示预存程序的执行计划,可以简单的在 Query Analyzer 中呼叫预存程序。Query Analyzer 会显示所呼叫预存程序的评估执行计划,如图35-11所示的 sp_who。(需要注重的是,预存程序的执行计划相当复杂)。即使不确定组成预存程序的 T-SQL 陈述式,也可以显示该预存程序的执行计划。 本文来自织梦
图35-11 在评估执行的计划窗格中的预存程序
使用对象浏览器
对象浏览器(Object Browser)包含在 SQL Server 2000 中,用来提升 Query Analyzer 的功能。启动 Query Analyzer 时,会在左边窗口看到 对象浏览器 。 对象浏览器 分成数据库对象区和通用对象区两部份。在数据库对象区,可以浏览像数据表和检视表等对象;在通用对象区,可以存取系统对象和菜单。可以利用 物件浏览器 找出所提供的信息后,然后决定用的信息。
数据库对象
对象浏览 顶端部份含有数据库对象,可以立即看到预设数据库以及所建立的数据库,并显示所属的 SQL Server。想要知道在 对象浏览 之中有哪些可用信息,只要展开对象即可。先展开 Northwind 数据库,然后展开 使用者数据表 。现在可看到 Northwind 数据库中可用的数据表,如图35-12所示。 dedecms.com
图35-12 检视对象浏览中的数据表
接着展开一个使用者定义数据表,然后展开包含关于字段、索引、条件约束、资源依存性、触发程序信息的数据夹。图35-13显示展开的 Orders 数据表。或者可以展开数据夹,检视关于系统数据表、检视表、预存程序、功能和使用者定义数据类型的信息。
在 Query Analyzer 中提供对象信息,是相当方便的,这样在建立 SQL 陈述式和预存程序时,就不需要再检查 Query Analyzer 以外的对象信息。不但可以在 对象浏览 中检视信息,还可以编辑对象、拖曳对象,甚至可以建立指令码和修改对象,将功能加在一个已经很实用的工具中。 dedecms.com
图35-13 展开在对象浏览中的数据表
通用对象
在 对象浏览 较下面的部份是名为通用对象(Common Objects)的数据夹,这个数据夹中包含了如设定功能、光标功能、日期和时间功能以及数学功能等对象信息的数据夹。因此您可以很快地存取一个要使用的功能而不须查询语法。在这个区域展开数据夹的话,将显示设定选项,如图35-14所示。将这些功能拖曳到 Query 窗格中,或者用鼠标点选这个功能以显示一个简要描述。这对于 ad-hoc 查询过程是相当方便的。
文章评论
共有位Admini5网友发表了评论 查看完整内容