我想在MySQL数据库中存储邮政编码(美国境内).节省空间是一个优先事项.这是使用VARCHAR的更好选项 - 限制为最大长度为6位或使用INT或使用MEDIUM Int.邮政编码不会用于任何计算.Zip代码将用于插入(一次),更新(如果需要)和检索 - 一次(但它可以不止一次).
哪个更好的选择在MYSQL中使用VARCHAR或INT或MEDIUM?请另外建议吗?
Tar*_*ryn 20
将邮政编码存储为数字值存在一些问题.
12345-6789.您不能将破折号存储在数字数据类型中.我会将邮政编码存储为varchar(5)或varchar(10).
作为旁注,我不确定您为什么选择varchar(6),当标准邮政编码为5或10时,您是否有理由选择不寻常的长度?
我通常使用MEDIUMINT(5) ZEROFILL5位数的邮政编码.这保留了任何前导0s并且它仅使用3个字节,其中a VARCHAR(5)将使用6.这假设您不需要扩展邮政编码,其具有破折号和4个额外数字.如果您决定使用文本类型,我会使用CHAR(5)而不是VARCHAR(5)因为如果数据总是5个字符长则更好.
邮政编码始终为 5 个字符,因此您需要 CHAR 数据类型,而不是 VARCHAR。
因此,您的选择是
CHAR(5)
MEDIUMINT (5) UNSIGNED ZEROFILL
Run Code Online (Sandbox Code Playgroud)
第一个每个邮政编码占用 5 个字节。
第二个每个邮政编码只需要 3 个字节。对于带有前导零的邮政编码,ZEROFILL 选项是必需的。
因此,如果空间是您的首要任务,请使用 MEDIUMINT。
| 归档时间: |
|
| 查看次数: |
36962 次 |
| 最近记录: |