3

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

  • ID
  • 纬度
  • 经度

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

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

有一个索引:latitude, longitude

有没有更有效的方法来存储/查询数据库?目前,根据框坐标/对象密度,查询时间从 0.1 秒到超过 1 秒不等。

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

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

4

1 回答 1

2

有没有更有效的方法来存储/查询数据库?

绝对,是的!空间扩展正是为了解决这个问题而设计的。

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

这并不容易(但也不难),而且效率更高。对于大型数据集,它可以有效。

于 2012-08-31T22:15:42.170 回答