我正在試驗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