Skip to content

系统慢SQL日志-sys_all_slowsql_log

功能描述

sys_all_slowsql_log系统表用于查询所有节点记录的慢SQL命令,参数slow_sql_time,0表示关闭,正数表示开启记载执行时长超过阈值的SQL,当SQL执行时间超过设置的阈值时间将记录SQL且生成SLOWSQL.LOG日志文件,通过sys_all_slowsql_log可查询结果。

字段说明

序号字段名类型说明
0NODEIDINTEGER节点ID
1DB_IDVARCHAR库ID
2USER_NAMEINTEGER用户名
3SESSION_IDVARCHAR会话ID
4CLIENT_IPDATETIME客户端IP
5EX_TIMEVARCHAR当前时间
6ELAPSE_TIMEINTEGERSQL执行时间(毫秒)
7SQL_STRVARCHAR执行SQL
8SQL_PARASVARCHAR传入参数

参数说明

当有传入参数时(如预处理语句),将记录传入参数信息,其记录格式如下:

{PN=参数个数,GN=参数组数 <参数序号,参数类型,参数值><参数序号,参数类型,参数值>...}
  • 参数个数:本组传输的参数个数

  • 参数组数:本组传输的参数所属的组数

  • 参数序号:本组传输的当前参数序号,从 1 开始

  • 参数类型:本组传输的当前参数类型,下述类型括号中数字为类型 ID

    • B:表示类型为 TYPE_BOOL(2) 的布尔数据
    • I1:表示类型为 TYPE_I1(3) 的 1 字节整型数据
    • I2:表示类型为 TYPE_I2(4) 的 2 字节整型数据
    • I4:表示类型为 TYPE_I4(5) 的 4 字节整型数据
    • I8:表示类型为 TYPE_I8(6) 的 8 字节整型数据
    • R4:表示类型为 TYPE_R4(8) 的 4 字节浮点数据
    • R8:表示类型为 TYPE_R8(9) 的 8 字节浮点数据
    • S:表示类型为 TYPE_CHAR(30) 的字符串数据
    • TID:0:表示类型为上述类型之外的类型,其中 0 将替换为类型 ID,若本参数值为 NULL,则 0 将替换为 NULL
  • 参数值:本组传输的当前参数值

    • B:输出真值 T 或假值 F
    • I1:输出 1 字节整型值表示字符串
    • I2:输出 2 字节整型值表示字符串
    • I4:输出 4 字节整型值表示字符串
    • I8:输出 8 字节整型值表示字符串
    • R4:输出 4 字节浮点值表示字符串
    • R8:输出 8 字节浮点值表示字符串
    • S:输出由单引号 ' 包裹的字符串,最长为 128 字节
    • 当类型为上述类型之外的类型,不输出参数值部分

应用实例

查看所有节点的慢SQL操作记载。

sql
SQL> SELECT * FROM sys_all_slowsql_log;
NODEID | DB_ID | USER_NAME | SESSION_ID | CLIENT_IP | EX_TIME | ELAPSE_TIME | SQL_STR | SQL_PARAS |
--------------------------------------------------------------------------------------------------
1 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:13:43.000 AD | 30 | CREATE TABLE SLOWSQL_TABLE(ID INT ,C1 VARCHAR)| <NULL>|
1 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:13:46.000 AD | 233 | DECLARE BEGIN FOR i IN 1...10000 LOOP INSERT INTO SLOWSQL_TABLE values(i,'张三');END LOOP;END;| <NULL>|
1 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:14:10.000 AD | 10 | DROP TABLE SLOWSQL_TABLE| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:30.000 AD | 30 | CREATE TABLE SLOWSQL_TABLE(ID INT ,C1 VARCHAR)| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:34.000 AD | 207 | DECLARE BEGIN FOR i IN 1...10000 LOOP INSERT INTO SLOWSQL_TABLE values(i,'张三');END LOOP;END;| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:41.000 AD | 50 | SELECT sleep(50);| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:46.000 AD | 91 | SELECT sleep(90);| <NULL>|
2 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:36:59.000 AD | 10 | DROP TABLE SLOWSQL_TABLE| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:32.000 AD | 25 | CREATE TABLE SLOWSQL_TABLE(ID INT ,C1 VARCHAR)| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:36.000 AD | 121 | DECLARE BEGIN FOR i IN 1...10000 LOOP INSERT INTO SLOWSQL_TABLE values(i,'张三');END LOOP;END;| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:43.000 AD | 207 | SELECT sleep(210);| <NULL>|
3 | 1 | SYSDBA| 3 | 10.28.10.156| 2024-09-18 14:26:45.000 AD | 303 | SELECT sleep(305);| <NULL>|

相关系统表

sys_slowsql_log