答案1
每个表的列数有 4096 个硬性限制,但对于给定的表,实际最大值可能小于此值。确切的限制取决于几个相互作用的因素。
每个表(无论使用哪种存储引擎)的最大行大小为 65,535 字节。存储引擎可能会对此限制施加额外限制,从而减少有效最大行大小。
因此,这两种 DBMS 都应允许您在每行中存放相同数量的数据。看来,这两种方法都无法满足您的需求或处理数据的方式。
无论如何,您不应该在每一行存储这么多数据,最好单独存储每个字符串并使用其他表来引用它们。
答案2
在进一步阅读MySQL 存储要求页面上我注意到了这一部分:
即使存储引擎能够支持更大的行,表的内部表示的最大行大小也为 65,535 字节。此数字不包括 BLOB 或 TEXT 列,这只占此大小的 9 到 12 个字节。对于 BLOB 和 TEXT 数据,信息内部存储在与行缓冲区不同的内存区域中。
答案3
对于 DynamoDB,建议您使用 Amazon S3 来存储较大的值。
其他选项包括 gzip 压缩内容,这将为您提供大约 200KB 的存储空间。
请参阅下面的 Matt Woods 幻灯片:
http://www.slideshare.net/AmazonWebServices/building-applications-with-dynamodb