当前位置:  开发笔记 > 数据库 > 正文

在邮政编码的n英里内查询数据库的最佳方法是什么?

如何解决《在邮政编码的n英里内查询数据库的最佳方法是什么?》经验,为你挑选了1个好方法。

我的数据库中有一个记录列表,每个记录都与一个邮政编码相关联.

查询数据库中所有记录以查找距离另一个邮政编码n英里内的所有条目的"最佳做法"是什么?

每个邮政编码在数据库中都有一个lat/long与之关联,所以我知道我必须使用它.但是,我无法想象在每对邮政编码上运行任何类型的距离公式,转换为里程并拒绝不在我的范围内的那些.

对于这样的常见查询来说,这看起来非常昂贵.

我也考虑过进行全对预计算,但它似乎也太大了.美国大约有大约40,000个邮政编码.因此,每个邮政编码的所有对数据库将是(40,000)^ 2,或16亿条目.

我知道这是网站上的一个常见问题,所以希望有人可以指出我正确的方向以获得最佳方式.我正在使用SQL Server 2008,如果有预先构建的解决方案,那么很棒,因为我真的不想在这个例子中重新发明轮子.


相关问题:获取半径范围内的所有邮政编码(这对我没有帮助)
另外,我知道这个SourceForge项目,但它已经废弃,不再使用.



1> mackenir..:

我会运行一个查询,返回包含径向搜索圆(minlat

如果您想获得想象力,SQL Server支持空间索引.

推荐阅读
贾志军
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有