MySQL PROCEDURE ANALYZE建议使用CHAR而不是INT?

时间:2013-10-11 03:23:24

标签: mysql regex optimization mysqli mysql-5.6

我创建了一个包含一个字段的空表,并将一些数字数据导入其中。我选择名为 value1 的字段作为TEXT字段。 (我暂时这样做了,因为我不知道数据的长度/范围,或者数据中是否有混乱的字母字符等。)

现在,清理时,PROCEDURE ANALYZE()告诉我 value1 应该是 CHAR(6)字段。该字段为数字,它没有alpha字符,MIN值为1,MAX值为9999,MIN长度为1,MAX长度为6.因此,经过一番调查后,我看到有零填充值即000123.如果是问题,我用一些SQL清理它:

UPDATE table1 SET value1=TRIM(LEADING '0' FROM value1)

所以现在一切看起来都不错,正则表达式搜索不显示任何alpha字符等等。然而,PROCEDURE ANALYZE()现在告诉我 value1 应该是CHAR(5)字段。没有空字段。 charset是latin,所以我尝试了ALTER TABLE table1 CONVERT TO CHARACTER SET utf8。没有变化。

有谁知道我可能会遗漏或不理解这里?为什么不告诉我使用SMALLINT等?

Mysql 5.6,InnoDB表,utf8。

干杯!

0 个答案:

没有答案