HACK
(DBS)
1
【 TiDB 使用环境】线上、测试、调研
【 TiDB 版本】
【遇到的问题】
集群版本:4.0.6
一个SQL没有commit,通过查看 INFORMATION_SCHEMA.CLUSTER_PROCESSLIST,能够查询到DIGEST,怎么查看这个DIGEST对应的SQL语句呢?
【复现路径】做过哪些操作出现的问题
【问题现象及影响】
【附件】
请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。
1 个赞
啦啦啦啦啦
2
关联下CLUSTER_STATEMENTS_SUMMARY这个表或者STATEMENTS_SUMMARY_HISTORY看看
select QUERY_SAMPLE_TEXT from INFORMATION_SCHEMA.CLUSTER_STATEMENTS_SUMMARY_HISTORY where DIGEST='xxxxx'
HACK
(DBS)
5
根据txn_start_ts或者digest查看cluster_slow_quey表,都没有找到。
啦啦啦啦啦
6
1 个赞
啦啦啦啦啦
8
我这边6.1版本测试是可以的。cluster_slow_quey里没有正常,本身执行很快仅仅没提交的不会记录。可以适当调大上面的参数看看,有可能是SQL种类太多,被移除了。
HACK
(DBS)
9
我这个是个人的测试环境。
我感觉cluster_statements_summary(这个视图现在总的记录条数也就15条)这个视图查看出来的信息不准呀,我刚刚执行了一个SQL,然后在这个视图里面就查看不到。
1 个赞
啦啦啦啦啦
10
select QUERY_SAMPLE_TEXT from INFORMATION_SCHEMA.CLUSTER_STATEMENTS_SUMMARY a join INFORMATION_SCHEMA.processlist b on a.DIGEST=b.DIGEST;
试试这个行吗,我这没问题
HACK
(DBS)
11
你这样试一试,看看两次出来的SQL是一样的吗?
SESSION1:
use testdb;
begin;
update t set name=‘aaa’ where id=1;
—查看这个DIGEST对应的SQL
commit;
update t set name=‘bbb’ where id=2;
—查看这个DIGEST对应的SQL
1 个赞
HACK
(DBS)
13
我测试了好几遍,有时候准,有时候不准,感觉就是INFORMATION_SCHEMA.CLUSTER_STATEMENTS_SUMMARY里面的内容更新的不及时,不准。
1 个赞
HACK
(DBS)
14
重新复测了一遍,还是有问题,过程如下:
tidb_stmt_summary_history_size=24
tidb_stmt_summary_max_sql_length=4096
tidb_stmt_summary_max_stmt_count=200
tidb_stmt_summary_refresh_interval=1800
问题:
多次执行类似 update tabname set name=? where id=? 形式的SQL,查看表中记录的SQL内容,只能看到第一次执行对应的SQL语句。
测试过程:
SESSION1:
begin;
update zjp set name=‘DDD’ where id=3;
SESSION2:
查看这个SQL对应的DIGEST,查看该DIGEST对应的SQL文本
select query_sample_text from information_schema.cluster_statements_summary where digest=‘xxx’;
查看到的文本就是刚才执行的SQL语句。
SESSION1:
commit;将刚才的修改提交
update zjp set name=‘BBB’ where id=2;
SESSION2:
select query_sample_text from information_schema.cluster_statements_summary where digest=‘xxx’;
查看到的文本仍然是第一次执行的SQL文本,没有看到第二次的(update zjp set name=‘BBB’ where id=2;)。
1 个赞
h5n1
(H5n1)
17
好像没地能查去,记录SQL信息的就这些地方,前面基本都提到了
system
(system)
关闭
20
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。