我真的需要使用MySQL空间函数吗?

时间:2012-09-11 02:58:51

标签: mysql geolocation spatial-index

我希望你对这个案子有意见:

我需要一个最多有两个或三个表的数据库,其中一个表有点(纬度,经度)和其他一些信息。

我需要的非常简单:获取给定半径范围内的点数。

我不是问怎么做(但是任何建议都非常受欢迎,特别是如果它是关于良好做法),我想知道是否利用MySQL的空间支持会有所帮助。由于我只需要一个查询就可以轻松获得所需内容,因此使用Spatial支持我所期望的是增加性能

那么,空间索引是否会有明显的帮助?我不认为表会存储那么多点。我说不超过200个。

1 个答案:

答案 0 :(得分:1)

如果它真的只有200分,我建议你不要这样做:这样可以更容易地编写可移植的SQL(我认为这很重要)。

编写你的SQL,首先根据预先计算的分钟和最大值(给你一个矩形)检查长度和纬度,然后检查半径。这样,您只需要计算半径而不必最终选择结果集的1 / pi点。

我个人认为这是一个可以接受的编写SQL的行为,如果必须针对SQlite或其他任何内容执行,那么就可以执行。