这可以通过任何支持二维索引的数据库引擎快速完成……据我所知,mysql 支持无限维度……这很简单……您使用二维索引将结果集限制在合理的范围内大小非常快...然后如果您需要,您可以使用高精度计算算法检查您的结果集.. 不难.. 除非您可能需要或两个列表一起穿过 180/-180 经度线制作 2d索引很简单....索引(纬度,经度)...该索引仅适用于纬度或纬度,经度对...它不适用于单独的经度...如果您想要一个额外的经度索引索引(经度)....如果我关心它们,我会选择一个粗略的估计正方形和圆角。...
如果你有一个邮政编码或城市开始......邮政编码只是一个一维索引......没有问题让它快速发生......只需使用索引索引(zip)......如果你的硬盘驱动器是太慢了,买一个固态驱动器来消除寻道时间..或者使用一个巨大的内存来缓存整个表......无论你想怎么做,这都不是一个难题
如果这对您来说还不够快,那么使用某人的服务将无济于事,因为您有网络开销……您必须将数据直接保存在 ram/ssd 中并构建自己的二维/一维索引系统需要它(不难)...该路由可能会以 10 倍左右的速度击败 sql,因为 sql 引擎有很多开销...。我想有人可能会提供在您自己的机器上运行的服务,但是实际上,这不会远远超过 sql,因为您仍然必须通过一堆 hoopdiloops 才能向他们的服务发出请求。带有固态驱动器的 sql 和 2-d 索引将非常快,除非您是邮局,否则您不需要自己处理数据,使用一台提供数据的机器每秒分拣 10,000 封邮件。那么你'