查看 SQL 执行记录

按条件查看当前工作区内的 SQL 执行记录,可用于排查执行失败、执行缓慢或特定数据库中的 SQL。默认只查看当前身份执行的记录;具备相应权限时,可以查看工作区范围的记录。

POST https://api.moi.matrixorigin.cn/v5/query/history

调用前准备

准备有当前工作区访问权限的个人访问令牌当前工作区 ID

请求体

curl -X POST "https://api.moi.matrixorigin.cn/v5/query/history" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "status": "Success",
    "databases": ["analytics"],
    "start": "2026-08-18T00:00:00Z",
    "end": "2026-08-18T01:00:00Z",
    "limit": 20,
    "order_by": ["request_at"],
    "order": "DESC"
  }'

参数

类型

是否必填

说明

scope

string

查看当前身份或当前工作区的记录。

status

string

按执行状态筛选。

user

array of string

按执行用户筛选。

databases

array of string

按数据库名称筛选。

statement

string

按 SQL 文本进行包含匹配。

query_type

array of string

按语句类别筛选:DDL、DML、DQL、DCL、TCL 或 Other。

duration

unsigned integer

最短执行时长,单位为纳秒。

start

string

查询开始时间,例如 2026-08-18T00:00:00Z。

end

string

查询结束时间,例如 2026-08-18T01:00:00Z。

statement_id

string

按语句 ID 筛选。

transaction_id

string

按事务 ID 精确筛选。

session_id

string

按会话 ID 筛选。

selected_field

array of string

指定需要返回的字段。

sql_source_type

array of string

按 SQL 来源筛选。

offset

unsigned integer

从零开始的偏移量。默认值为 0。

limit

unsigned integer

单次返回的最大记录数。

order_by

array of string

排序字段。

order

string

排序方向。

cu

unsigned integer

容量使用量阈值。

查看范围

scope 值

可查看的记录

权限条件

self

当前身份的记录。

默认范围。

workspace

工作区范围的记录。

需要工作区审计读取权限。

查询时间和 ID

时间需填写完整的日期、时间和时区。开始和结束时间都未填写时,默认查询请求前 5 分钟内的记录;可以只填写其中一个时间作为查询边界。

输入完整语句 ID 或会话 ID 时精确匹配;输入合法片段时,匹配包含该片段的记录。ID 片段只能包含字母、数字和连字符。

选择返回内容

未指定返回字段时,服务返回默认字段;无论是否指定,结果都会包含请求时间。未指定 SQL 来源时,服务只返回用户 SQL 和外部 SQL。每页条数省略或为 0 时使用 10,最大为 1000;容量使用量筛选仅在当前部署支持且阈值大于 0 时生效。

可排序字段

省略 order_by 时,服务按请求时间降序排列。order 为 DESC 时降序,其他值按升序处理。

字段

含义

request_at

请求时间。

response_at

响应时间。

duration

执行时长。

rows_read

读取行数。

bytes_scan

扫描字节数。

cu

容量使用量。

读取下一页

读取下一页时,将 offset 增加本次实际返回的条数,并保留原筛选条件。例如,第一页 offset 为 0、limit 为 20 时,下一页请求为:

curl -X POST "https://api.moi.matrixorigin.cn/v5/query/history" \
  -H "X-API-Key: $AI_STUDIO_API_KEY" \
  -H "X-Workspace-ID: $WORKSPACE_ID" \
  -H 'Content-Type: application/json' \
  -d '{
    "status": "Success",
    "databases": ["analytics"],
    "start": "2026-08-18T00:00:00Z",
    "end": "2026-08-18T01:00:00Z",
    "offset": 20,
    "limit": 20,
    "order_by": ["request_at"],
    "order": "DESC"
  }'

累计读取数量达到总数,或本次没有记录时停止翻页。

成功响应

成功时返回 SQL 执行记录。data.query_list 为空表示在本次筛选范围内没有可返回的记录;这不表示 SQL 执行失败。

{
  "code": "OK",
  "msg": "OK",
  "data": {
    "total": 1,
    "offset": 0,
    "limit": 20,
    "query_list": [
      {
        "statement_id": "5c6f22fb-ef0e-4f46-b06f-c31e1a7afb48",
        "database": "analytics",
        "statement": "SELECT * FROM orders",
        "request_at": "2026-08-18T00:30:00Z",
        "response_at": "2026-08-18T00:30:01Z",
        "duration": 1000,
        "status": "Success",
        "query_type": "DQL",
        "result_count": 10
      }
    ]
  }
}

字段

类型

说明

code

string

成功时为 OK。

msg

string

成功时为 OK。

data.total

integer

符合筛选条件的记录总数。

data.offset

unsigned integer

本次响应使用的偏移量。

data.limit

unsigned integer

本次响应实际使用的单页上限。

data.query_list

array

SQL 执行记录列表。

data.query_list[].statement_id

string

语句 ID。

data.query_list[].transaction_id

string

事务 ID。

data.query_list[].session_id

string

会话 ID。

data.query_list[].account

string

执行所用账户。

data.query_list[].user

string

执行用户。

data.query_list[].host

string

执行主机。

data.query_list[].database

string

执行时使用的数据库。

data.query_list[].statement

string

SQL 语句文本。

data.query_list[].statement_tag

string

语句标签。

data.query_list[].statement_fingerprint

string

语句指纹。

data.query_list[].node_uuid

string

执行节点 UUID。

data.query_list[].node_type

string

执行节点类型。

data.query_list[].request_at

string

开始执行时间。

data.query_list[].response_at

string

结束执行时间。

data.query_list[].duration

unsigned integer

执行时长,单位为纳秒。

data.query_list[].status

string

执行状态。

data.query_list[].error_code

string

错误代码。

data.query_list[].error

string

错误信息。

data.query_list[].exec_plan

string

已保存的执行计划。

data.query_list[].rows_read

unsigned integer

读取行数。

data.query_list[].bytes_scan

unsigned integer

扫描字节数。

data.query_list[].statement_type

string

语句类型。

data.query_list[].query_type

string

语句类别。

data.query_list[].role_id

unsigned integer

执行角色 ID。

data.query_list[].sql_source_type

string

SQL 来源类型。

data.query_list[].result_count

integer

结果行数。

data.query_list[].cu

number

容量使用量。

data.query_list[].connection_id

integer

数据库连接 ID。

错误响应

{
  "code": "ErrParamInvalid",
  "msg": "请求参数无效",
  "data": null
}

字段

类型

说明

code

string

错误代码。

msg

string

错误信息。

data

null

后续操作

选择 SQL 执行记录

如需继续排查,在结果中选择一条 SQL 执行记录,并记下其语句 ID 和执行时间。随后可查看 SQL 执行详情查看 SQL 执行计划

如需重新执行某条 SQL,请从所选记录中取得 SQL 文本,并确认目标数据库和当前身份的权限后,使用执行 SQL

最后更新于