【发布时间】:2010-12-02 09:50:30
【问题描述】:
我正在编写一个特定于美国的 Web 应用程序,因此其他国家/地区用于邮政编码的格式并不重要。我有一个我们的邮政编码列表,我正在尝试将其加载到包含
的数据库表中- 5 位美国邮政编码
- 纬度
- 经度
- usps 分类代码
- 州代码
- 城市
邮政编码是主键,因为它是我要查询的。我开始使用中等 int 5,但这会截断具有前导零的邮政编码。
我考虑过使用 char5,但担心索引 char 变量会影响性能。
所以我的问题是存储邮政编码的最佳 mysql 数据类型是什么?
注意:我在其他几个与邮政编码相关的问题中看到了它。我只对美国 5 位数的邮政编码感兴趣。因此无需考虑其他国家/地区的邮政编码格式。
【问题讨论】:
-
保留前导零的附加值是什么?只要您显示前导零 (.PadLeft),我就会尽可能优化您的数据库。
-
零是邮政编码中的重要数据。邮政编码不是整数,即使它们完全由数字组成。
-
这是一个公平的观点。我做了一些测试用例查询 00210 等,它返回了正确的记录。我想这更像是对数据完整性的担忧。
-
较新的 Zip+4 代码怎么样?例如:91210-3889
-
@rlb.usa 据我所知,zip+4 格式仅在该邮政编码中提供更具体的位置修复,而且我没有那么精确的数据集,而且事实上当前 zip 的精度符合我的要求,我并不担心。
标签: sql mysql database-design data-modeling zipcode