为了避免评论中产生的重大混淆,我编辑了我的问题,只反映了我在这里质疑的相关部分。这与其他问题类似,从我看到的不是偏离主题和公平接受MySql field size for storing email body如果需要,我可以列出许多其他类似问题的例子,所以我不知道所有的仇恨都是......
答案 0 :(得分:1)
将其设为VARCHAR(50)
并继续处理其他问题。
即使序列号永远不会超过30个字符,说50对磁盘空间没有影响,几乎不影响性能。
(20是空格的十六进制。第一个例子中的所有字符都可以是八进制数字。)
详细
VARCHAR
占用1或2个字节的长度,加上字符串所需的字节数。存储在VARCHAR(30)
中的30位数字不会占用VARCHAR(50)
中的磁盘空间。
在某些复杂查询中,VARCHAR
可以转换为CHAR
,从而在查询的tmp表的持续时间内占用最大长度