像大多数普通的PHP开发人员一样,我使用MySql作为关系型数据库管理系统。MySql (和其他关系型数据库一样)提供了空间索引特性,但我不太了解它。我已经在谷歌上搜索过它,但没有找到明确的现实世界的例子来澄清我对它的糟糕认识。
有人能给我解释一下什么是空间索引吗?我应该在什么时候使用它?
发布于 2010-02-13 11:37:10
您可以使用空间索引来索引地理对象形状。空间索引使高效地搜索在空间中重叠的对象成为可能
发布于 2013-05-04 04:33:09
空间索引类似于普通索引,不同之处在于空间对象不是一维数据点,而是位于更高维空间(例如2D)中,因此BTree等普通索引不适合对此类数据进行索引。众所周知的空间索引技术是R-tree (在维基百科上搜索它)
发布于 2020-09-16 13:49:39
当我们需要存储一些地理数据来存储位置,或者我们需要存储与形状相关的数据时,我们可以使用它。
例如,假设您正在尝试开发一个应用程序,该应用程序可以帮助人们找到附近的餐馆、酒吧和其他常去的地方。简而言之,这将是一个位置发现平台。
从后端的角度来看,我们需要存储这些位置的地理数据,比如纬度和经度。然后,我们需要编写函数来计算用户和位置之间的距离(以显示位置与他/她之间的距离)。使用相同的函数,我们可以设计一个算法,找到离用户最近的地方或距离他/她给定半径的地方。
你可以在这里找到更好的例子:- https://medium.com/sysf/playing-with-geometry-spatial-data-type-in-mysql-645b83880331
https://stackoverflow.com/questions/2256364
复制相似问题