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

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

 

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

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

 ♦  查看由数据库服务器处理的语句
  1. 按如下步骤打开分析文件:

    1. 在 Sybase Central 中,选择 [模式] » [应用程序分析]。如果出现 [应用程序分析向导],则单击 [取消]。

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

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

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

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

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

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

    8. 单击 [连接]。

    9. 如果窗口底部未出现 [应用程序分析详细信息] 窗格,则选择 [视图] » [应用程序分析详细信息]。

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

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

      在 [概览] 选项卡中,出现在会话期间执行的 SQL 语句。您还会看到更多其它语句。这是因为您自动执行的语句导致了其它语句的执行(例如,触发器)。

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

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

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

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

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

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

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

 另请参见