Database design 存储地理代码数据-查找性能

Database design 存储地理代码数据-查找性能,database-design,google-maps-api-3,geocoding,Database Design,Google Maps Api 3,Geocoding,因此,我使用谷歌地图api,我想暂时存储地理代码,这样我就不会一遍又一遍地进行相同的调用。我的问题是,我应该如何构造我的表以获得最佳性能 我的api输入是否应该像我的主键一样(例如:“123 fake st,ny 12345”)? 我主要是做美国地址,它有多糟糕做像一个4部分的关键(地址,城市,州,邮政编码)? 其他想法? 谢谢 考虑到一个地址有多少种不同的书写方式,我不会让您的主键包含整个地址。标准(基本)地址分解为: 街道 辅助地址单元(例如,楼层、建筑物) 城市 状态 邮政编码 二级邮政

因此,我使用谷歌地图api,我想暂时存储地理代码,这样我就不会一遍又一遍地进行相同的调用。我的问题是,我应该如何构造我的表以获得最佳性能

我的api输入是否应该像我的主键一样(例如:“123 fake st,ny 12345”)? 我主要是做美国地址,它有多糟糕做像一个4部分的关键(地址,城市,州,邮政编码)? 其他想法?
谢谢

考虑到一个地址有多少种不同的书写方式,我不会让您的主键包含整个地址。标准(基本)地址分解为:
街道
辅助地址单元(例如,楼层、建筑物)
城市
状态
邮政编码
二级邮政编码(如97123-1234的1234部分)

更详细的地址匹配分解是进一步细分街道:

街道编号
街道名称
街道类型(如大街、Ct)
街道方向(如西北、东南方向)

这里有一个链接,指向我几年前写的一篇关于如何为匹配美国邮件地址进行地址缩减的描述:

很棒的博客文章。这对埃文的需求来说可能是过分了。如果地址几乎总是唯一的,那么根据请求的确切地址(可能是大小写和空格的标准化)对缓存进行索引就足够了。此外,如果他的缓存TTL持续时间很长。是的,这太过分了,因为我的地址总是街道、城市、州、邮政编码。但是很酷的帖子。