Mysql 为什么performance\u schema.events\u statements\u current的字段SQL\u TEXT经常为空?
我们使用percona server 5.7,并尝试通过以下sql获取带有字段trx_查询的sql文本,但我经常发现该字段为空,原因是什么,如何避免获取空sql文本Mysql 为什么performance\u schema.events\u statements\u current的字段SQL\u TEXT经常为空?,mysql,percona,Mysql,Percona,我们使用percona server 5.7,并尝试通过以下sql获取带有字段trx_查询的sql文本,但我经常发现该字段为空,原因是什么,如何避免获取空sql文本 SELECT b.id AS processlist_id, trx_id, user, host, a.trx_state , unix_timestamp(now()) - unix_timestamp(trx_started) AS trx_time , db, trx_rows_modified , S
SELECT b.id AS processlist_id, trx_id, user, host, a.trx_state
, unix_timestamp(now()) - unix_timestamp(trx_started) AS trx_time
, db, trx_rows_modified
, SUBSTRING(CASE
WHEN trx_query IS NULL THEN c.SQL_TEXT
WHEN trx_query IN ('commit') THEN c.SQL_TEXT
ELSE trx_query
END, 1, 10240) AS trx_query
FROM information_schema.innodb_trx a
INNER JOIN information_schema.processlist b ON a.trx_mysql_thread_id = b.id
INNER JOIN performance_schema.threads t ON t.PROCESSLIST_ID = a.trx_mysql_thread_id
INNER JOIN performance_schema.events_statements_current c on t.THREAD_ID=c.THREAD_ID
WHERE trx_started > '0000-00-00 00:00:00'
AND unix_timestamp(now()) - unix_timestamp(trx_started) >= 10
AND trx_tables_locked > 0
ORDER BY trx_time DESC
LIMIT 0, 30;