【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】V7.1
【遇到的问题:问题现象及影响】业务数据写入tidb数据库,单条数据大小超过6M,报错,无法写入,官方说是需要修改参数,请问如何操作及会额外带来哪些问题,比如性能,资源使用等
【附件:截图/日志/监控】
txn-entry-size-limit
从 v4.0.10 和 v5.0.0 版本开始引入
- TiDB 单行数据的大小限制
- 默认值:6291456
- 单位:Byte
- 事务中单个 key-value 记录的大小限制。若超出该限制,TiDB 将会返回
entry too large
错误。该配置项的最大值不超过125829120
(表示 120MB)。- 从 v7.6.0 开始,你可以使用
tidb_txn_entry_size_limit
系统变量动态修改该配置项的值。- 注意,TiKV 有类似的限制。若单个写入请求的数据量大小超出
raft-entry-max-size
,默认为 8MB,TiKV 会拒绝处理该请求。当表的一行记录较大时,需要同时修改这两个配置。max_allowed_packet
(MySQL 协议的最大数据包大小) 的默认值为67108864
(64 MiB)。如果一行记录的大小超过max_allowed_packet
,该行记录会被截断。txn-total-size-limit
(TiDB 单个事务大小限制)的默认值为 100 MiB。如果将txn-entry-size-limit
的值设置为 100 MiB 以上,需要相应地调大txn-total-size-limit
的值。
文档的介绍是比较完善的。
1 个赞