digest_text的字段类型是longtext,这个字符类型能存储最多的字符数据类型。
longtext字段类型可以存储最大长度为4294967295个字符的文本,即大约4GB的数据,可以存储非常长的SQL语句。
但我们发现digext_text列有时候记录的sql语句不完整,这是由于这个列受performance_schema_max_digest_length这个参数影响,8.0.11和5.0版本默认这个参数的值为1024(单位是字节byte),如果SQL语句长度超过了这个值,则只会采集前面的一部分来生成摘要信息。更加完整sql语句,可通过query_sample_text列查看。
可通过这个语句查看sql的长度
SELECT CHAR_LENGTH(digest_text),CHAR_LENGTH(query_sample_text) AS sql_length FROM events_statements_summary_by_digest
采用命令查看
SHOW VARIABLES LIKE 'performance_schema_max_digest_length';
如果您想更改默认值,只能 MySQL 配置文件中修改,并重启数据库,这是一个只读的参数,在线修改会报错
vim /etc/my.cnt
[mysqld]
performance_schema_max_digest_length = 2048
单位是字节
重启数据库systemctl restart mysqld
最后修改时间:2023-05-07 22:23:45
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。