例如,说我有一张桌子:
Business(BusinessID, Lattitude, Longitude)
所有这些都被索引了。也有一百万条记录
假设我想寻找最接近106.5的企业,该怎么办?
如果我做
SELECT *
FROM Business
WHERE (Some formula to compute distance here) < 2000
例如,或者如果我这样做
SELECT *
FROM Business
TOP 20
理论上,计算机将必须计算所有biz的距离,而实际上,只有那些纬度和经度在一定范围内的距离才应计算。
那么,如何在PhP或SQL中做我想做的事情?
到目前为止,我很感谢您的回答。我正在使用mysql,它们没有比明显的解决方案更有效的方法。MySQL空间也没有计算距离功能。