繁体   English   中英

如果引擎是InnoDB / MYISAM,我们可以在mysql表中添加几列?

[英]how many columns we can add in mysql table if engine is InnoDB/MYISAM?

如果我们在mysql表中使用了InnoDB引擎,则在一个表中添加多少列? 如果我们使用了MyISAM引擎,我们可以在一个表中添加多少列? 还请告诉我,我们可以在InnoDB和MyISAM引擎中创建多少行?

根据MySQL参考手册,每个表有4,096列的硬限制。

检查以下链接以获取更多信息。

每个表中的列<1000(5.6.9中的1017,InnoDB); MyISAM的2598(?)。 我认为4096的限制是在Handler级别; 引擎往往更严格。

但是...在一个表中有几百列通常是“不良的架构设计”。 解释你所追求的; 我们可以帮助您重新设计架构。

行数...行数没有限制,只有表格大小:

  • 每个InnoDB表空间(ibdata1或.ibd)为64TB。 因此,非PARTITIONed表被限制为64TB的数据+索引。 一个分区表每个分区有一个表空间。 非默认innodb_page_size = 65536(5.7.x),256TB。
  • MyISAM表大小的默认限制为2 ^ 48(256TB)字节。 表格的硬限制为2 ^ 56字节。 (请参见myisam_data_pointer_sizeCREATE TABLE

另请参阅更多限制

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM