Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SAP Sybase SQL Anywhere 16.0 (中文) » SQL Anywhere 服务器 - SQL 用法 » 性能提高、诊断和监控 » 应用程序分析教程 » 教程:诊断执行速度慢的语句

 

第 2 课:查看由数据库服务器处理的语句

通过使用位于 Sybase Central 的 [应用程序分析] 窗格中的 [概览] 和 [详细信息] 选项卡,您可以确定数据库服务器在哪些语句上花费的处理时间最多。

前提条件

本课假定您拥有在本教程开头的特权部分中列出的角色和特权: 教程:诊断执行速度慢的语句

本课假定您已完成前面的所有课程。请参见第 1 课:创建诊断跟踪会话

 任务
  1. 在 Sybase Central 中,按如下操作打开分析文件:

    1. 单击 [应用程序分析] » [打开分析文件或连接到跟踪数据库]。

    2. 单击 [在跟踪数据库中],然后单击 [打开]。

    3. 在 [用户 ID] 字段中键入 DBA

    4. 在 [口令] 字段中键入 sql

    5. 在 [操作] 下拉列表中,选择 [连接到此计算机上正在运行的数据库]。

    6. 在 [数据库名] 字段中键入 app_profiling

    7. 单击 [连接]。

    8. 如果窗口底部未出现 [应用程序分析详细信息] 窗格,请单击 [视图] » [应用程序分析详细信息]。

  2. 按如下步骤检查在跟踪会话期间处理的语句的执行时间:

    1. 在 [应用程序分析详细信息] 窗格的 [状态] 选项卡上,从 [记录会话 ID] 字段中选择时间最近的 ID(最高编号),然后单击 [数据库跟踪数据] 选项卡。

      在 [概览] 选项卡中,出现在会话期间执行的 SQL 语句。可能还会出现其它语句,这是因为用户执行的语句会自动执行其它语句(例如,触发器)。

      [概览] 选项卡将相似的语句组合到一起,并汇总调用总数和处理这些语句所花费的总时间。SELECT、INSERT、UPDATE 和 DELETE 语句按其引用的表、列及表达式进行分组。其它语句则作为一个整体组合到一起(例如,所有 CREATE TABLE 语句在 [概览] 选项卡中以单个条目的形式显示)。语句也可能在 [概览] 选项卡中显示为高成本语句,因为该语句是一个高成本语句,也可能是因为它执行频率比较高。

      通过检查 [总时间] 和 [最长时间] 列,可以查找系统上运行缓慢的语句。它们提供了关于数据库服务器处理的每个语句的执行时间的信息。

      对于跟踪会话期间执行的各个 SQL 语句,均会显示调用数、总时间、最长时间、用户和语句文本。
  3. 要查看执行某个语句的连接的相关信息,可单击 [详细信息] 选项卡,右击该语句,然后单击 [查看所选语句的连接详细信息]。

  4. 要查看某个 SQL 语句使用的执行计划,请单击 [详细信息] 选项卡,右击该语句,然后单击 [查看所选语句的更多 SQL 语句详细信息]。

    将出现 [SQL 语句详细信息] 窗口,显示该语句的全文及该语句所处上下文的相关详细信息。显示的语句文本可能与您执行的原始 SQL 语句不符。[SQL 语句详细信息] 窗口会以语句的重写形式显示该语句,因为它是由数据库服务器处理的。例如,视图上的查询可能看上去截然不同,因为视图定义通常在执行查询时被优化程序重写。

    在 [SQL 语句详细信息] 窗口的底部单击 [查询信息] 选项卡,以查看执行计划。

结果

您现在已经完成了有关诊断执行速度慢的语句的教程部分。

 另请参见