首批通过分布式安全可靠测评,为关键业务系统打造
如何开启 OceanBase 数据库 MySQL 模式中的 SQL TRACE
更新时间:2023-11-30 12:01
SQL TRACE 能够提供上一次执行的 SQL 请求执行过程信息及各阶段的耗时。本文介绍如何开启 SQL TRACE。
适用版本
OceanBase 数据库 V2.x 版本
开启 SQL TRACE
SQL TRACE 能够交互式的提供上一次执行的 SQL 请求执行过程信息及各阶段的耗时。当 SQL TRACE 功能开启后,在客户端运行需要诊断的 SQL,然后通过 SHOW TRACE 语句能够查看该 SQL 执行的信息。
SQL TRACE 默认是关闭的,可以通过系统变量 ob_enable_trace_log 设置是否开启 SQL TRACE 功能,取值 1 表示开启 SQL TRACE,取值 0 表示关闭 SQL TRACE。有关该变量的详细信息,参见《OceanBase 数据库 参考指南》中的 系统变量 章节。
此外,SQL TRACE 功能的正常使用会受另外两个配置项 enable_sql_audit 和 enable_perf_event 设置的影响。只有当两个参数均设置为开启时,SQL TRACE 功能才能正常使用。
其中,enable_sql_audit 用于设置是否开启 SQL 审计功能,默认为 True(开启)。enable_perf_event 用于设置是否开启性能事件的信息收集功能,默认为 True(开启)。
说明
enable_sql_audit 和 enable_perf_event 为一组开关,在 enable_sql_audit 开启的情况下,enable_perf_event 无法关闭。
查看 SQL 的执行结果
开启 SQL TRACE 后,可以通过 SHOW TRACE 语句查看 SQL 执行的信息结果。
obclient> SHOW TRACE;
+-----------------------------+----------------------------------------------------------------------------+------+
| Title | KeyValue | Time |
+-----------------------------+----------------------------------------------------------------------------+------+
| process begin | in_queue_time:10, receive_ts:1614587762092172, enqueue_ts:1614587762092174 | 0 |
| query begin | trace_id:YB42C0A80447-0005BC3618655CDB | 1 |
| parse begin | stmt:"select * from t1 where c1 = 1", stmt_len:29 | 90 |
| pc get plan begin | | 5 |
| pc get plan end | | 50 |
| execution begin | arg1:false, end_trans_cb:false | 4 |
| do open plan begin | plan_id:81710 | 12 |
| sql start stmt begin | | 1 |
| sql start stmt end | | 2 |
| execute plan begin | | 0 |
| execute plan end | | 1 |
| sql start participant begin | | 0 |
| sql start participant end | | 0 |
| do open plan end | | 0 |
| table scan begin | | 22 |
| table scan end | | 81 |
| start_close_plan begin | | 46 |
| start_end_participant begin | | 12 |
| start_end_participant end | | 0 |
| start_close_plan end | | 2 |
| start_auto_end_plan begin | | 1 |
| start_auto_end_plan end | | 1 |
| execution end | | 1 |
| query end | | 29 |
+-----------------------------+----------------------------------------------------------------------------+------+
24 rows in set (0.00 sec)