Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我真的需要使用MySQL空间函数吗?_Mysql_Geolocation_Spatial Index - Fatal编程技术网

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

我真的需要使用MySQL空间函数吗?,mysql,geolocation,spatial-index,Mysql,Geolocation,Spatial Index,我想听听你对这个案子的看法: 我需要一个数据库,将有。。。最多两到三个表,其中一个表将包含点(纬度、经度)和一些其他信息 我需要的很简单:得到给定半径内的点 我不是在问怎么做(但任何建议都非常受欢迎,特别是关于良好实践的建议),我想知道利用MySQL的空间支持是否会有所帮助。由于只需一个查询就可以很容易地获得所需的内容,因此我希望通过使用空间支持来提高性能 那么,空间索引会有显著的帮助吗?我认为这张桌子不会储存那么多的积分。我想说不超过200。 如果它实际上只有200点,我建议您不要这样做:这使

我想听听你对这个案子的看法:

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

我需要的很简单:得到给定半径内的点

我不是在问怎么做(但任何建议都非常受欢迎,特别是关于良好实践的建议),我想知道利用MySQL的空间支持是否会有所帮助。由于只需一个查询就可以很容易地获得所需的内容,因此我希望通过使用空间支持来提高性能


那么,空间索引会有显著的帮助吗?我认为这张桌子不会储存那么多的积分。我想说不超过200。

如果它实际上只有200点,我建议您不要这样做:这使得编写便携SQL变得更容易(我认为这是一件很重要的事情)。 编写SQL,以便首先根据预先计算的分钟和最大值(给您一个矩形)检查经度和纬度,然后检查半径。这样,您只需计算半径,而无需最终为结果集的1/pi选择点


我个人认为这是一个可接受的与SQL编写的交易,如果必须对SQLite或任何东西执行它。

如果它实际上只有200点,我建议您不要这样做:这使得编写可移植SQL更容易(我认为这是一件很重要的事情)。 编写SQL,以便首先根据预先计算的分钟和最大值(给您一个矩形)检查经度和纬度,然后检查半径。这样,您只需计算半径,而无需最终为结果集的1/pi选择点


我个人认为这是一个可接受的对SQL编写的交易,如果必须对SQLite或任何东西进行执行,那么,

使用这些函数的主要问题是什么?只是我不想使用它们,如果我真的不需要它们的话。你知道,我们通常不想用大炮杀死苍蝇。你最关心的是使用那些功能吗?只是如果我真的不需要它们,我不想使用它们。你知道,我们通常不想用大炮杀死一只苍蝇。注意,当你靠近两极时,纬度的大小会发生变化。如果你要处理的位置在遥远的北方或南方(如阿拉斯加或阿根廷南部),这可能会导致一些严重的不准确。这就是我的意思,首先检查最小值和最大值,然后真正计算半径:在两极附近,你会得到更多的“第1阶段假阳性”,但是他们将在第二阶段被排除。非常感谢你的观点,尤金。虽然我同意您关于可移植SQL非常重要的观点,但情况不会如此,因为我们坚持使用MySQL,并且认为这一点永远不会改变。请注意,随着距离两极越来越近,纬度的大小也会发生变化。如果你要处理的位置在遥远的北方或南方(如阿拉斯加或阿根廷南部),这可能会导致一些严重的不准确。这就是我的意思,首先检查最小值和最大值,然后真正计算半径:在两极附近,你会得到更多的“第1阶段假阳性”,但是他们将在第二阶段被排除。非常感谢你的观点,尤金。虽然我同意您关于可移植SQL的重要性的看法,但情况不会如此,因为我们坚持使用MySQL,并且认为这种情况永远不会改变。