---
title: "SQL 追踪 - OceanBase 数据库 V4.3.5 | OceanBase 文档中心"
description: SQL 追踪 SQL 追踪（ SHOW TRACE ）是 OceanBase 数据库提供的一种性能分析工具，能够交互式的提供上一次执行的 SQL 请求执行过程中调用链路情况，以及链路中各阶段耗时情况，以便进行性能分析或调优。 SQL 追踪的作用 性能调优需求 复杂查询优化：当 SQL 执行缓慢时，通过追踪可快速定位问…
---
切换语言

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

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

# SQL 追踪

更新时间：2026-04-07 20:57:20

[编辑](https://github.com/oceanbase/oceanbase-doc/edit/V4.3.5/zh-CN/700.reference/1000.performance-tuning-guide/500.sql-optimization/400.sql-optimization/300.monitor-sql-execution-performance/200.sql-trace.md)  

SQL 追踪（`SHOW TRACE`）是 OceanBase 数据库提供的一种性能分析工具，能够交互式的提供上一次执行的 SQL 请求执行过程中调用链路情况，以及链路中各阶段耗时情况，以便进行性能分析或调优。

## SQL 追踪的作用

### 性能调优需求

- 复杂查询优化：当 SQL 执行缓慢时，通过追踪可快速定位问题（如全表扫描、`JOIN` 顺序不当）。
 - 资源竞争分析：识别锁等待、并发冲突等导致延迟的问题。
 - 索引有效性验证：判断查询是否命中索引，或是否存在冗余索引。

### 问题诊断场景

- 慢查询定位：通过 `ELAPSE_TIME` 找出耗时最长的子任务。
 - 索引缺失：如果 `inner_execute_read` 耗时异常，可能表示未使用索引。
 - 分布式任务异常：检查 `do_local_das_task` 的耗时是否均衡，避免单点性能瓶颈。

### 系统稳定性保障

- 预防性维护：通过定期追踪关键 SQL，提前发现潜在性能风险。
 - 故障复盘：在生产环境出现异常时，结合 Trace 日志快速复现问题。

## 使用 SQL 追踪

`SHOW TRACE` 功能默认是关闭的，可通过 Session 变量 [ob_enable_show_trace](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015892) 来控制其打开和关闭。

### 操作步骤

#### 步骤一：开启当前会话的 SQL 追踪功能

**示例如下：**

```sql
SET ob_enable_show_trace = 1;

```

#### 步骤二：执行目标 SQL

**示例如下：**

1. 创建表 `t1`。

   ```sql
   CREATE TABLE t1(c1 INT, c2 INT, c3 INT);

   ```
 2. 向表中插入数据。

   ```sql
   INSERT INTO t1 VALUES(1,1,1),(2,2,2);

   ```
 3. 查看表 `t1` 的数据库。

   ```sql
   SELECT/*+PARALLEL(2)*/ COUNT(*) FROM t1;

   ```

   返回结果如下：

   ```shell
   +----------+
   | COUNT(*) |
   +----------+
   |        2 |
   +----------+
   1 row in set

   ```

#### 步骤三：查看 Trace 信息

使用 `SHOW TRACE;` 语句显示上一次 SQL 的追踪结果。

**示例如下：**

```sql
SHOW TRACE;

```

返回结果如下：

```shell
+-------------------------------------------------------+---------------------+-------------+
| OPERATION                                             | START_TIME          | ELAPSE_TIME |
+-------------------------------------------------------+---------------------+-------------+
| com_query_process                                     | 2023/03/07 16:27:43 | 5241 µs     |
| └── mpquery_single_stmt                               | 2023/03/07 16:27:43 | 5208 µs     |
|     ├── sql_compile                                   | 2023/03/07 16:27:43 | 4149 µs     |
|     │   ├── pc_get_plan                               | 2023/03/07 16:27:43 | 108 µs      |
|     │   └── hard_parse                                | 2023/03/07 16:27:43 | 3952 µs     |
|     │       ├── parse                                 | 2023/03/07 16:27:43 | 97 µs       |
|     │       ├── resolve                               | 2023/03/07 16:27:43 | 492 µs      |
|     │       ├── rewrite                               | 2023/03/07 16:27:43 | 598 µs      |
|     │       ├── optimize                              | 2023/03/07 16:27:43 | 2022 µs     |
|     │       │   ├── inner_execute_read                | 2023/03/07 16:27:43 | 485 µs      |
|     │       │   │   ├── sql_compile                   | 2023/03/07 16:27:43 | 140 µs      |
|     │       │   │   │   └── pc_get_plan               | 2023/03/07 16:27:43 | 81 µs       |
|     │       │   │   ├── open                          | 2023/03/07 16:27:43 | 43 µs       |
|     │       │   │   ├── get_das_id                    | 2023/03/07 16:27:43 | 17 µs       |
|     │       │   │   └── do_local_das_task             | 2023/03/07 16:27:43 | 107 µs      |
|     │       │   └── close                             | 2023/03/07 16:27:43 | 66 µs       |
|     │       │       ├── close_das_task                | 2023/03/07 16:27:43 | 17 µs       |
|     │       │       └── end_transaction               | 2023/03/07 16:27:43 | 6 µs        |
|     │       ├── code_generate                         | 2023/03/07 16:27:43 | 197 µs      |
|     │       └── pc_add_plan                           | 2023/03/07 16:27:43 | 74 µs       |
|     └── sql_execute                                   | 2023/03/07 16:27:43 | 979 µs      |
|         ├── open                                      | 2023/03/07 16:27:43 | 19 µs       |
|         ├── response_result                           | 2023/03/07 16:27:43 | 768 µs      |
|         │   ├── get_das_id                            | 2023/03/07 16:27:43 | 0 µs        |
|         │   └── do_local_das_task                     | 2023/03/07 16:27:43 | 358 µs      |
|         └── close                                     | 2023/03/07 16:27:43 | 145 µs      |
|             └── close_das_task                        | 2023/03/07 16:27:43 | 19 µs       |
+-------------------------------------------------------+---------------------+-------------+
27 rows in set

```

**关键字段说明：**

| 字段 | 含义 |
| --- | --- |
| OPERATION | SQL 执行的具体阶段（如 `parse`、`optimize`、`do_local_das_task`）。 |
| START_TIME | 该阶段的开始时间（用于分析时间线）。 |
| ELAPSE_TIME | 该阶段的耗时（单位为微秒 µs），用于定位性能瓶颈。 |

## 相关文档

- 关于 SQL 调优的详细介绍信息，参见 [SQL 调优概览](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002013770)。
 - 关于设置是否使用 Show Trace 日志的详细介绍信息，参见 [ob_enable_show_trace](https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000002015892)。

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