我正在试验MySQL枚举数据类型。我有一个表15列,其中7个是ENUM数据类型。否VARCHARs,最大列类型DATETIME。所以我应该在mysql的65535字节限制内。即使在InnoDB的1000字节限制内。MySQL ENUM选项值影响最大行大小?
ENUM类型有很多很大的字符串可能性(范围在1000列2列)。我只是改变了表更ENUM值添加到表
ALTER TABLE <tablename> MODIFY <enumCol> ([...1000 values each of max 40 bytes]);
而且─
ERROR 1117 (HY000): Too many columns
我研究这个,发现这个错误是关系到最大行大小后得到这个错误MySql表。 另外,我读到这里http://dev.mysql.com/doc/refman/5.1/en/column-count-limit.html是 -
每个表都有一个包含表定义的.frm文件。服务器使用下面的表达式来检查一些存储在文件中针对64KB
难道这些枚举值类型入门万一存放在这里的上限表信息,这触发错误(使.FRM文件> 64K)?还是其他事情正在发生?
errrm - 让我说明一下,您最多使用7个枚举列,每列可能有0到1000个值? – 2011-03-13 21:37:24
其中只有一个有1000个值。休息是在50至100的范围内。我已阅读关于ENUMS的优点和缺点,我想测试它可以给我多少速度改善。测试样品有11百万行。 – Jai 2011-03-13 21:44:00