---
title: "查询排名 TOP N 的 SQL - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: 查询排名 TOP N 的 SQL 查询某段时间内请求次数排在 TOP N 的 SQL 运行如下语句可以查询某段时间内请求次数排在 TOP N 的 SQL： SELECT /*+ PARALLEL(15)*/ SQL_ID, COUNT(*) AS QPS, AVG(t1.elapsed_time) RT FROM o…
---
切换语言

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

文档反馈![](https://mdn.alipayobjects.com/huamei_22khvb/afts/img/A*P8CuR4UJ_FkAAAAAAAAAAAAADiGDAQ/original) OceanBase 数据库分布式版 - V 4.3.5 LTS

# 查询排名 TOP N 的 SQL

更新时间：2026-04-09 14:12:04

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/1000.performance-tuning-guide/500.sql-optimization/1100.sql-performance-analysis-best-practices/700.top-n-sql-statements.md)  

## 查询某段时间内请求次数排在 TOP N 的 SQL

运行如下语句可以查询某段时间内请求次数排在 TOP N 的 SQL：

```shell
SELECT /*+ PARALLEL(15)*/
    SQL_ID, COUNT(*) AS QPS,
    AVG(t1.elapsed_time) RT
FROM oceanbase.GV$OB_SQL_AUDIT t1
WHERE tenant_id = 1001
AND IS_EXECUTOR_RPC = 0
AND request_time > (time_to_usec(now()) - 10000000)
AND request_time < time_to_usec (now())
GROUP BY t1.sql_id
ORDER BY QPS DESC
LIMIT 10;

```

返回结果如下：

```shell
+----------------------------------+------+------------+
| SQL_ID                           | QPS  | RT         |
+----------------------------------+------+------------+
| BF7AA13A28DF50BA5C33FF19F1DBD8A9 | 2523 |  4233.2085 |
| CE7208ADDE365D0AB5E68EE24E5FD730 | 1268 |  5935.8683 |
| E5C7494018989226E69AE7D08B3D0F15 | 1028 |  7275.7490 |
| D0E8D8C937E44BC3BB9A5379AE1064C5 | 1000 | 12999.1640 |
| 2D45D7BE4E459CFBEAE4803971F0C6F9 | 1000 |  8050.6360 |
| C81CE9AA555BE59B088B379CC7AE5B40 | 1000 |  6865.4940 |
| BDC4FE903B414203A04E41C7DDA6627D | 1000 | 12751.8960 |
| B1B136047D7C3B6B9125F095363A9D23 |  885 | 13293.2237 |
| 47993DD69888868E92A7CAB2FDE65380 |  880 |  7282.0557 |
| 05C6279D767C7F212619BF4B659D3BAB |  844 | 11474.5438 |
+----------------------------------+------+------------+

```

## 查询某段时间内平均 RT 排在 TOP N 的 SQL

运行如下语句可以查询某段时间内平均 RT 排在 TOP N 的 SQL：

```shell
SELECT /*+ PARALLEL(15)*/
    SQL_ID,
    COUNT(*) AS QPS,
    AVG(t1.elapsed_time) RT
FROM oceanbase.GV$OB_SQL_AUDIT t1
WHERE tenant_id = 1001
AND IS_EXECUTOR_RPC = 0
AND request_time > (time_to_usec(now()) - 10000000)
AND request_time < time_to_usec(now())
GROUP BY t1.sql_id
ORDER BY RT DESC
LIMIT 10;

```

返回结果如下：

```shell
+----------------------------------+------+------------+
| SQL_ID                           | QPS  | RT         |
+----------------------------------+------+------------+
| 0A3D3DCB3343BBBB10E4B4B9777B77FC |    1 | 53618.0000 |
| A3831961C337545AF5BD1219BE29867A |    1 | 50764.0000 |
| F3DC5EF627DA63AE52044FCE7732267C |    1 | 48497.0000 |
| 39C63F143FDDACAEC090F480789DBCA5 |    1 | 47035.0000 |
| A3BF306B02FF86E76C96C9CEFADBDB7E |    1 | 45553.0000 |
| 7942E8D29BAFBF23EF3E3D29D55F428A |    1 | 45285.0000 |
| 20989A74CC1703664BDE9D6EA7830C24 |    1 | 39143.0000 |
| 80F40791E76C79D3DCD46FEEFFAB338E |    1 | 37654.0000 |
| 07E2FE351E3DD82843E81930B84D3DDE |    1 | 37231.0000 |
| 11B19DB5A1393590ABBE08005C155B2E |    1 | 37139.0000 |
+----------------------------------+------+------------+

```

## 查询某段时间内执行时间排名 TOP N 的请求

运行如下语句可以查询某段时间内执行时间排名 TOP N 的请求：

```shell
obclient> SELECT /*+ PARALLEL(15)*/
    sql_id,
    elapsed_time,
    trace_id
FROM oceanbase.GV$OB_SQL_AUDIT
WHERE tenant_id = 1001
AND IS_EXECUTOR_RPC = 0
AND request_time > (time_to_usec(now()) - 10000000)
AND request_time < time_to_usec(now())
ORDER BY elapsed_time DESC
LIMIT 10;

```

返回结果如下：

```shell
+----------------------------------+--------------+-------------------------------+
| sql_id                           | elapsed_time | trace_id                      |
+----------------------------------+--------------+-------------------------------+
| CFA269275E3BB270408747C01F64D837 |        87381 | YB420AB75598-0005634FBED5C5E8 |
| 1979A5B4A27D5C3DBE08F80383FD6EB6 |        83465 | YB420AB74E56-0005634B4B87353B |
| 51248E6C3BB5EF1FC4E8E79CA685723E |        82767 | YB420AB74E56-0005634B4B82E7E1 |
| 249C40E669DFCCE80E3D11446272FA11 |        79919 | YB420A67E27C-00056349549A79D3 |
| BEFAD568C3858D2C2E35F01558CBEC06 |        77210 | YB420A67E4B1-00056345B0F2E97E |
| FB1A6A8BC4125C324A38F91B3808D364 |        75870 | YB420AB74E71-00056347074261E6 |
| 0343A519C0C5BF31C68CB68F63721990 |        75666 | YB420BB47107-00056346A5A631FB |
| B140BB0C671D9B8616FB048544F3B85B |        73902 | YB420A67E56B-00056342A5A4683E |
| 4F9B1D0A3822A3E0DF69DB11ABFBE0EA |        72963 | YB420BB47107-00056346A5AAC5F5 |
| 9963E8D252E6CBA72FBA45AC5790BA11 |        72354 | YB420A67E56B-00056342A5A66089 |
+----------------------------------+--------------+-------------------------------+

```

## 查询所有 SQL 中平均执行时间排在 TOP N 的 SQL

运行如下语句可以查询所有 SQL 中平均执行时间排在 TOP N 的 SQL：

```shell
obclient> SELECT /*+ PARALLEL(15)*/
    avg_exe_usec,
    svr_ip,
    svr_port,
    sql_id,
    plan_id
FROM oceanbase.GV$OB_PLAN_CACHE_PLAN_STAT
WHERE tenant_id = 1001
ORDER BY avg_exe_usec DESC
LIMIT 3\G;

```

返回结果如下：

```shell
*************************** 1. row ***************************
avg_exe_usec: 9795912
      svr_ip: 10.1.1.1
    svr_port: 2882
      sql_id: C5D91E6C772D1B87C32BB3C9ED1435E1
     plan_id: 4668689
*************************** 2. row ***************************
avg_exe_usec: 9435052
      svr_ip: 10.1.1.1
    svr_port: 2882
      sql_id: 3B6EFEEC8332EB2A0822A3EA7B769500
     plan_id: 4692858
*************************** 3. row ***************************
avg_exe_usec: 9335002
      svr_ip: 10.1.1.1
    svr_port: 2882
      sql_id: 3B6EFEEC8332EB2A0822A3EA7B769500
     plan_id: 4683085

```

 上一篇 下一篇 ![有帮助](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) 咨询热线
