ps_thread_trx_info()函数
返回一个JSON对象,其中包含有关给定线程的信息。该信息包括从性能架构events_transactions_current
和events_statements_history
表派生的当前事务及其已执行的语句。(必须启用这些表的使用者以获取JSON对象中的完整数据。)
如果输出超出了截断长度(默认为65535),则返回JSON错误对象,例如:
{ "error": "Trx info truncated: Row 6 was cut by GROUP_CONCAT()" }
对于函数执行期间引发的其他警告和异常,将返回类似的错误对象。
参量
in_thread_id BIGINT UNSIGNED
:要为其返回交易信息的线程ID。该值应与THREAD_ID
某些“性能模式”threads
表行中的列匹配。
配置选项
ps_thread_trx_info()
可以使用以下配置选项或其相应的用户定义变量来修改该操作(请参见“ 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 } ] } ]