---
title: "TopSQL 诊断 | OceanBase 文档中心"
description: TopSQL 诊断 TopSQL 是指总计执行平均耗时最长的 SQL 语句，在租户概览页面中，您可以根据时间范围、OBServer 节点对 TopSQL 进行筛选查询，并在 SQL 列表中查看 SQL 详情。 操作步骤 在左导航栏单击 租户 ，并在 租户列表 中单击具体的租户进入租户 总览 页面。 在左侧导航栏单击 …
---
切换语言

- 中文站 - 简体中文
- International - English
- 日本站 - 日本語

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*lJTmRZ61jSUAAAAAAAAAAAAADiGDAQ/original) 云平台 OCPV 4.0.3 企业版

# TopSQL 诊断

更新时间：2023-08-16 15:51:32

TopSQL 是指总计执行平均耗时最长的 SQL 语句，在租户概览页面中，您可以根据时间范围、OBServer 节点对 TopSQL 进行筛选查询，并在 SQL 列表中查看 SQL 详情。

## **操作步骤**

- 在左导航栏单击 **租户** ，并在 **租户列表** 中单击具体的租户进入租户 **总览** 页面。
 - 在左侧导航栏单击 **SQL 诊断** ，进入 **SQL 诊断** 页面。

  若集群参数 enable_sql_audit 和租户参数 ob_enable_sql_audit 中任何一个未配置成打开，则 **SQL 诊断** 页面将缺失 SQL 诊断数据。可通过提示中的按钮修改参数值。

  ![08251800](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/7204481361/p312497.png)
 - 单击 **TopSQL** 页签。
 - 对 TopSQL 进行筛选。

     1. 配置筛选条件。

            - 时间范围：可在 **时间范围** 下拉框中选择 近 5 分钟、近 10 分钟、近 20 分钟、近 30 分钟、近 1 小时、近 3小时来快速选择时间范围；也可在下拉框中选择自定义时间，并配置开始时间和结束时间。默认显示近 30 分钟内的信息。
            - OBServer：选择 OBServer 节点，查询时将只查询在该 OBServer 节点上执行的 SQL。
            - 内部 SQL：若勾选，则查询结果中会包含由 OceanBase 内部发起的 SQL。
            - 关键词：查询结果中会显示 SQL 文本中包含该关键词的 SQL。
            - 高级条件： **高级条件** 支持同时添加多个过滤条件。单击 **添加** ，在 **添加高级条件** 面板中，可对指标、运算符和指标值进行配置，查询时将获取指标满足条件的 SQL 展示在查询结果列表中。

             ![Image 1](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/4341489461/p429708.png)
     2. 单击 **查询** ，下方列表中将展示所有符合查询条件的 SQL。

       支持复制 SQL 文本，并根据数据库对 SQL 文本进行筛选。支持根据执行次数、总响应时间、平均响应时间、报错次数和计划生成时间对 SQL 文本进行排序，并可查看诊断结果。

  ![Image 173](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/4341489461/p429709.png)
 - 单击 **导出 TopSQL** 按钮，将导出列表中展示的所有 SQL。
 - 查看 TopSQL 信息。

     1. 单击 **自定义列** ，在弹出框中对自定义列的列表达式和列名进行配置。配置完成后可在 TopSQL 列表中查看到相关信息。  

  #### 说明

     - 目前运算符只支持"+、-、*、/"和英文括号。
     - 自定义列添加后，TopSQL 将按照自定义列进行排序。
     - 仅支持定义一个自定义表达式。如果已经存在自定义列，新增自定义列后，新的表达式列将代替原有自定义列。
     - 自定义列的属性名前须加 @ 或 $。  

  ![Image 2](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/4341489461/p429710.png)

     2. 单击 **列管理** ，即可在弹出框中选择需要查看的信息。勾选完成后即可在 TopSQL 列表中查看到相关信息。

       ![Image 6](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/4341489461/p429711.png)
     3. 单击 SQL 文本左侧的 **+** 按钮，您可查看 SQL 具体报错详情。

       ![Image 3](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/4341489461/p429712.png)
     4. 单击 SQL 文本，进入具体 SQL 页面。

       在 **SQL 详情** 页中，您可查看该 SQL 的详细信息，包括：

            - 在 **SQL 文本** 处查看 SQL 的完整语句。
            - 在 **优化建议** 处查看对于该 SQL 的优化建议，详见 [查看优化建议](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000001538804)。
            - 在 **历史趋势** 页签，查看该 SQL 运行的历史趋势，详见 [查看 SQL 运行的历史趋势](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000001538804)。
            - 在 **执行计划** 页签，查看该 SQL 的执行计划，或为其绑定执行计划，详见 [查看 SQL 的执行计划](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000001538804)。
            - 在 **索引** 页签，查看该 SQL 的绑定的索引，详见 [查看和绑定索引](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000001538804)。
            - 在 **SQL 限流** 页签，查看该 SQL 的限流情况，或为其设置限流，详见 [设置 SQL 限流](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000001538804)。
            - 在 **执行计划** 、 **索引** 、 **SQL 限流** 页签的图示 ① 处，均可查看该 SQL 的绑定记录。

             ![1217](https://help-static-aliyun-doc.aliyuncs.com/assets/img/zh-CN/8493479361/p371468.png)

             在绑定记录中您可查看到已绑定计划的状态，可通过 **取消绑定** 按钮将 SQL 与该计划解绑，也可通过 **绑定** 按钮将二者再次绑定。
 - 设置限流。

     - 单击 **设置限流** ，您可对 SQL 进行限流，详见 [设置 SQL 限流](https://www.oceanbase.com/docs/enterprise-oceanbase-ocp-cn-10000000001538804)。
     - 勾选多个 SQL ，单击 **批量设置限流** ，在弹窗框中输入并发数，可对相关 SQL 进行相同并发数限流设置。  

  #### 说明

  批量设置限流不支持进行关键字限流。

 上一篇 下一篇 ![有帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*y6ocSqN8cqsAAAAAAAAAAAAAARQnAQ)![无帮助](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*BG9IQJyLHF8AAAAAAAAAAAAAARQnAQ)![反馈](https://gw.alipayobjects.com/mdn/ob_asset/afts/img/A*eTWdQKCRKHwAAAAAAAAAAAAAARQnAQ)[AI](https://www.oceanbase.com/obi) 咨询热线
