使用限制
本文会将详细描述 TiDB 中常见的使用限制,包括:标识符长度,最大支持的数据库、表、索引、分区表、序列等的个数。
注意
TiDB 高度兼容 MySQL 协议,也兼容了很多 MySQL 本身的限制,比如单个索引最多可包含 16 列。详细请参考与 MySQL 兼容性对比 和 MySQL 官方文档。
标识符长度限制
| 标识符类型 | 最大长度(字符) | 
|---|
| Database | 64 | 
| Table | 64 | 
| Column | 64 | 
| Index | 64 | 
| View | 64 | 
| Sequence | 64 | 
Databases、Tables、Views、Connections 总个数限制
| 类型 | 最大个数 | 
|---|
| Databases | unlimited | 
| Tables | unlimited | 
| Views | unlimited | 
| Connections | unlimited | 
单个 Database 的限制
单个 Table 的限制
| 类型 | 最大限制(默认值) | 
|---|
| Columns | 默认为 1017,最大可调至 4096 | 
| Indexes | 默认为 64,最大可调至 512 | 
| Rows | 无限制 | 
| Size | 无限制 | 
| Partitions | 8192 | 
单行的限制
索引的限制
索引的最大长度为 3072 字节,相当于使用 4 字节 UTF-8 编码时的 768 个字符。单个索引列的数量限制为 16 个。
你可以通过 max-index-length 配置项调整此限制。
数据类型限制
| 类型 | 最大限制 | 
|---|
| CHAR | 255 字符 | 
| BINARY | 255 字节 | 
| VARBINARY | 65535 字节 | 
| VARCHAR | 16383 字符 | 
| TEXT | 65535 字节 | 
| BLOB | 65535 字节 | 
SQL Statements 的限制
TiKV 版本的限制
在集群中,如果 TiDB 组件的版本为 v6.2.0 及以上,则 TiKV 组件版本不得低于 v6.2.0。