使用SQL Query Analyzer和SQL Profiler
图35-14 在对象浏览的通用对象中展开一个数据夹
除了存取全域变量之外,您还可以存取很多其它有用的快捷菜单,如数学和字符串功能。继续展开对象,您可以用这些菜单得到参数要求的信息。例如,图35-15显示展开 数学函数 中的 参数 数据夹。
内容来自dedecms
图35-15 检视对象浏览中的参数数据夹
使用SQL Profiler
除了 Query Analyzer 以外,SQL Profiler 工具也可以帮助找出低效率的 T-SQL陈述式。Profiler 可以显示所有系统中执行的 T-SQL 陈述式,并用图形加以显示。您也可以使用多种排序和筛选选项,找出使用了最多 CPU 和 I/O 资源的 T-SQL 陈述式。有了这些信息就可以确定在调整系统时需要集中焦点在哪些 T-SQL 陈述式上。对于透过应用程序呼叫的 T-SQL 陈述式,可以检视 T-SQL 陈述式,并决定利用存取应用程序来源程序代码时的效率如何。
SQL Server 2000 中的 Profiler 工具类似 SQL Server 7 中的 Profiler 工具,当然有些加强的功能。其中一项新功能是引用追踪模板,用来建立追踪档案。(在确定能够使用这个功能追踪 SQL Server 之后,追踪才能建立)。在 SQL Server 7 中,追踪功能只能以手动建立。
要呼叫 Profiler 工具并执行追踪,请遵循下列步骤:
1.按一下 开始 / 程序集 / Microsoft SQL Server / Profiles 。在 Profiler 刚出现时,会看到一个空的 Profiler 窗口。在 Profiler 中假如没有打开任何窗格,就不会剖析任何陈述式。
2.要开始分析,必须选择已存在的追踪模式,或是建立一个新的追踪模式。(启动过程将在步骤4介绍)。SQL Profiler 提供数种追踪模式。使用这些功能由于不必从 scratch 建立追踪,因此节省不少时间。要检查追踪清单,请在 档案 菜单中点选 开启旧档 ,选择 追踪模板 ,显示 开启旧文件 对话框,如图35-16所示。
内容来自dedecms
图35-16 开启旧文件对话框中显示可用的追踪
SQL Server 中的追踪描述如下:
o SQLServerProfilerSP_Counts.tdf 统计已经执行预存程序的数量。这个结果将根据预存程序的名称进行分组,其中包括程序所执行的次数。
o SQLServerProfilerStandard.tdf 收集关于连结点的信息,执行预存程序,以及依序执行 SQL 批次檔。
o SQLServerProfilerTSQL.tdf 收集所有的 T-SQL 陈述式传送至 SQL Server 的次序且依使用者团体分类传送。这个追踪包含了 T-SQL 陈述式以及它所执行的时间。
o SQLServerProfilerTSQL_Duration.tdf 显示执行的 T-SQL 陈述式,以及这些 T-SQL 陈述式执行所用的时间(一千分之一秒为单位)。
o SQLServerProfilerTSQL_Grouped.tdf 收集与 SQLServerProfilerTSQL 追踪类似的数据,但是根据传送陈述式的使用者来将数据分组。
o SQLServerProfilerTSQL_Replay.tdf 提供关于已经执行的 T-SQL 陈述式的具体信息。该追踪提供可以用来重新执行 Query Analyzer 中 T-SQL 陈述式的数据。
o SQLServerProfilerTSQL_SPs.tdf 显示预存程序以及预存程序中的 T-SQL指令。该结果根据陈述式执行的时间依序显示。
o SQLServerProfilerProfilerTuning.tdf 收集关于预存程序和执行 SQL 批次文件的数据。 内容来自dedecms
这些追踪相当有用。例如 SQLServerProfilerTSQL_Duration 追踪可找出哪些T-SQL 陈述式花费了大量的执行时间。这些信息使您可以开始最佳化查询。一个陈述式执行得很慢,可能是因为它的工作量很大,或者效率很低。在下一个步骤中将说明,必须使用每个追踪的预设定义。
3.要启动追踪,请选取 档案 / 新增 ,接着选择 追踪 。显示 联机到SQL Server 对话框,如图35-17所示。在这个对话框中,选择要追踪的 SQL Server 系统,然后按 确定 。
图35-17 联机到SQL Server对话框
4.进入 追踪属性 窗口,如图35-18所示。在 一般 页签,可以命名并选择追踪的起始点。本范例是选择 SQLServerProfilerTSQLDuration 追踪。在页签下面的部份,可以指定是否要将获得的追踪内容输入到档案或 SQL Server 数据表中。假如没有选择这些选项,那么追踪将只在屏幕上出现。另外,可以指定追踪完成的时间,这在执行长时间追踪时相当有用。
文章评论
共有位Admini5网友发表了评论 查看完整内容