InooDB 单行最大不能超过页大小的一半,比如默认 innodb_page_size=16K,则单行不能超过 8k(要减去一些额外信息占用的大小):
如果包含可变长度类型的字段的行超过InnoDB 最大行大小,则 InnoDB 会选择吧可变长度字段存储到外部页(也叫溢出页),直到该行符合InnoDB 行大小限制:
将上述示例 char 类型改为 varchar 类型,则可以突破单行不能超过 8k的限制:
MySQL层单行最大限制(不区分存储引擎)65535 字节:
BLOB 、 TEXT 列仅对行大小限制贡献 9 到 12 个字节,因为它们的内容与行的其余部分分开存储:
“在mysql中,每个数据库最多可创建20亿个表,一个表允许定义1024列,每行的最大长度为8092字节(不包括文本和图像类型的长度)。当表中定义有varchar、nvarchar或varbinary类型列时,如果向表中插入的数据行超过8092字节时将导致Transact-SQL语句失败...”欢迎分享,转载请注明来源:内存溢出
评论列表(0条)