每个数据库都有一些使用限制,比如标识符的长度限制、单库/单表数据量限制、行宽限制、索引个数限制等。
本文就 TiDB 数据库中的一些使用限制做一个完整的说明,整体上分为有限制和无限制进行说明。
不存在限制
维度 | 是否限制 |
|---|---|
Database 个数 | 无限制 |
Table 个数 | 无限制 |
View 个数 | 无限制 |
Connections 个数 | 无限制 |
单个 Database 中 Table 个数 | 无限制 |
单个 Table 的 Row 行数 | 无限制 |
单个 Table 的 Size 大小 | 无限制 |
存在限制
维度 | 默认值上限 | 最大调整上限 | 调整参数 |
|---|---|---|---|
标识符长度(database/table/column/index/view/sequence) | 64 | / | / |
单表Column个数 | 1017 | 4096 | table-column-count-limit TiDB 配置文件描述 |
单表Index个数 | 64 | 512 | index-limit TiDB 配置文件描述 |
单表Partition个数 | 8192 | ||
单行Size大小 | 6 MB | 120 MB | txn-entry-size-limit TiDB 配置文件描述 |
单行Key大小 | 3072 Byte | 12288 Byte | max-index-length TiDB 配置文件描述 |
单索引Column个数 | 16 | / | / |
单Sql长度限制(受服务端和客户端一次传送数据包大小限制) | 64 MB | 1 GB | max_allowed_packet 系统变量 |
单事务最大语句条数(仅限可重试的乐观事务模式下) | 5000 | 开启悲观事务或关闭事务重试后无限制 | stmt-count-limit TiDB 配置文件描述 |
部分超限错误提示
单表Column个数超限
ERROR 1117 (HY000): Too many columns
单表Index个数超限
ERROR 1069 (42000): Too many keys specified; max 64 keys allowed
单表Partition个数
ERROR 1499 (HY000): Too many partitions (including subpartitions) were defined
单行Size大小
ERROR 1406 (22001): Data too long for column 'b' at row 1
单行Key大小
ERROR 1071 (42000): Specified key was too long (4000 bytes); max key length is 3072 bytes
单索引Column个数
ERROR 1070 (42000): Too many key parts specified; max 16 parts allowed
文章转载自数据源的技术后花园,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




