地理距离计算的数据库如何设计?
在数据库中,存储了大量地点的经纬度数据,现在需要根据指定的经纬度,查询其一定距离内的全部地点,数据库如何设计会有比较高的效率?
常规的方式是采用关系型数据库,用两个字段分别存储经度和维度,用存储过程进行计算。由于地球不是平面的,计算公式涉及到三角函数,担心速度不够理想;
比较方便的是采用 MongoDB 的地理空间索引方式,但问题在于,使用了两个数据库,查询时需要先通过 MongoDB 获得符合要求的地点集合,再去一一查询关系型数据库获得其他信息。
关于这个问题,大家有没有好的建议?谢谢!
愛。夏茹秋波
12 years, 7 months ago