用于查询坐标的最有效的MySQL解决方案

时间:2012-08-31 22:12:42

标签: mysql geolocation query-optimization spatial-query

我有一个地理定位对象数据库:

  • ID
  • 纬度
  • 经度

我正在查询数据库以获取框内的对象:

WHERE longitude >= - 33.83789
  AND longitude <= 33.837891
  AND latitude >= 4.214943
  AND latitude <= 40.979898

有一个索引:latitude, longitude

是否有更有效的方式存储/查询数据库?目前,根据盒子坐标/对象密度,查询时间从0.1秒到1秒不等。

我知道MySQL Spacial extension,但似乎有点工作,我不知道它是否更容易/更有效。

其他信息:我还计划在将来执行简单的基于距离的查询(在指定位置附近获取对象)。

1 个答案:

答案 0 :(得分:2)

  

是否有更有效的方式来存储/查询数据库?

绝对,是的! Spatial extensions旨在解决此问题。

  

我知道MySQL Spacial扩展,但它似乎有点工作,我不知道它是否更容易/更有效。

这并不容易(但不是很多更难),而且 更有效率。对于大型数据集,它可以更有效地批次