Documentation Home
MySQL 8.3 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 40.8Mb
PDF (A4) - 40.9Mb
Man Pages (TGZ) - 294.0Kb
Man Pages (Zip) - 409.0Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb
Excerpts from this Manual

MySQL 8.3 Reference Manual  /  ...  /  The ps_thread_trx_info() Function

30.4.5.17 ps_thread_trx_info() 函数

返回一个包含给定线程信息的 JSON 对象,该信息包括当前事务和已经执行的语句,来自性能模式 events_transactions_currentevents_statements_history 表。(必须启用这些表的消费者以获取 JSON 对象中的完整数据。)

如果输出超过截断长度(默认为 65535),则返回一个 JSON 错误对象,例如:

{ "error": "Trx info truncated: Row 6 was cut by GROUP_CONCAT()" }

在函数执行期间引发的其他警告和异常也将返回类似的错误对象。

参数
  • in_thread_id BIGINT UNSIGNED:要返回事务信息的线程 ID。该值应与性能模式 threads 表中的某一行的 THREAD_ID 列相匹配。

配置选项

ps_thread_trx_info() 操作可以使用以下配置选项或相应的用户定义变量(见 第 30.4.2.1 节,“sys_config 表”)进行修改:

  • ps_thread_trx_info.max_length, @sys.ps_thread_trx_info.max_length

    输出的最大长度。默认值为 65535。

返回值

一个 LONGTEXT 值。

示例
mysql> SELECT sys.ps_thread_trx_info(48)\G
*************************** 1. row ***************************
sys.ps_thread_trx_info(48): [
  {
    "time": "790.70 us",
    "state": "COMMITTED",
    "mode": "READ WRITE",
    "autocommitted": "NO",
    "gtid": "AUTOMATIC",
    "isolation": "REPEATABLE READ",
    "statements_executed": [
      {
        "sql_text": "INSERT INTO info VALUES (1, \'foo\')",
        "time": "471.02 us",
        "schema": "trx",
        "rows_examined": 0,
        "rows_affected": 1,
        "rows_sent": 0,
        "tmp_tables": 0,
        "tmp_disk_tables": 0,
        "sort_rows": 0,
        "sort_merge_passes": 0
      },
      {
        "sql_text": "COMMIT",
        "time": "254.42 us",
        "schema": "trx",
        "rows_examined": 0,
        "rows_affected": 0,
        "rows_sent": 0,
        "tmp_tables": 0,
        "tmp_disk_tables": 0,
        "sort_rows": 0,
        "sort_merge_passes": 0
      }
    ]
  },
  {
    "time": "426.20 us",
    "state": "COMMITTED",
    "mode": "READ WRITE",
    "autocommitted": "NO",
    "gtid": "AUTOMATIC",
    "isolation": "REPEATABLE READ",
    "statements_executed": [
      {
        "sql_text": "INSERT INTO info VALUES (2, \'bar\')",
        "time": "107.33 us",
        "schema": "trx",
        "rows_examined": 0,
        "rows_affected": 1,
        "rows_sent": 0,
        "tmp_tables": 0,
        "tmp_disk_tables": 0,
        "sort_rows": 0,
        "sort_merge_passes": 0
      },
      {
        "sql_text": "COMMIT",
        "time": "213.23 us",
        "schema": "trx",
        "rows_examined": 0,
        "rows_affected": 0,
        "rows_sent": 0,
        "tmp_tables": 0,
        "tmp_disk_tables": 0,
        "sort_rows": 0,
        "sort_merge_passes": 0
      }
    ]
  }
]