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

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

 

第 1 课:创建诊断跟踪会话

[数据库跟踪向导] 用于创建诊断跟踪会话。跟踪会话可捕获处理中的语句数据(包括持续时间)。

本教程假定您已创建了测试数据库。如果尚未创建测试数据库,请参见第 1 课:创建测试数据库

提示

可以将本教程中的 SQL 语句复制并粘贴到 Interactive SQL 中。

♦  创建诊断跟踪会话
  1. 启动 Sybase Central,并使用用户 ID DBA 和口令 sql 连接到测试数据库 app_profiling.db

    如果不熟悉如何启动 Sybase Central 和连接到数据库,请参见连接到本地数据库

  2. 启动 [数据库跟踪向导]。

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

    2. 选择 [文件] » [配置和启动跟踪]。

    3. 在 [欢迎] 页面上,单击 [下一步]。

    4. 在 [跟踪详细信息级别] 页面上,选择 [高详细信息(建议短期、集中监控使用)],然后单击 [下一步]。

    5. 在 [编辑跟踪级别] 页面上,单击 [下一步]。

    6. 在 [创建外部数据库] 页面上,选择 [不创建新数据库],然后单击 [下一步]。

    7. 在 [启动跟踪] 页面上,选择 [在此数据库中保存跟踪数据]。

    8. 若不想对存储的跟踪数据量设置任何限制,请选择 [无限制],然后单击 [完成]。

  3. 在 Sybase Central 的左窗格中,选择 app_profiling - DBA 数据库,然后选择 [文件] » [打开 Interactive SQL]。

    Interactive SQL 启动并连接到 app_profiling - DBA 数据库。

  4. 在 Interactive SQL 中,运行以下 SQL 语句。

    SELECT SalesOrderItems.ID, LineID, ProductID, SalesOrderItems.Quantity, ShipDate
    FROM SalesOrderItems, SalesOrders
    WHERE SalesOrders.CustomerID = 105 AND 
       SalesOrderItems.ID=SalesOrders.ID;
  5. 在 Interactive SQL 中,运行以下 SQL 语句。此查询返回的结果与上一查询相同,但使用的是不相关的子查询。

    SELECT * 
    FROM SalesOrderItems
    WHERE SalesOrderItems.ID IN (
       SELECT SalesOrders.ID 
       FROM SalesOrders
       WHERE SalesOrders.CustomerID = 105 );
  6. 退出 Interactive SQL。

  7. 在 Sybase Central 中,选中该数据库,然后选择 [文件] » [跟踪] » [停止跟踪并保存] 来停止跟踪会话。

有关 [数据库跟踪向导] 的信息,请参见使用诊断跟踪进行高级应用程序分析