目前我正在开发基于位置的应用程序。主要应用功能之一是根据搜索条件定位点,并从一个点开始定位给定范围内的点。
显而易见的选择是将纬度/经度存储为 float 或整数,但我在 MySQL 中发现了空间数据类型并开始挖掘。不幸的是,如果我是正确的,那么空间索引仅在 MyISAM 中受支持,而 MyISAM 不支持外键(我需要)。
那么,什么会更好(更快) - 将纬度/经度存储为普通数字或使用不带索引的 POINT 类型?
最佳答案
您可以使用四键。将 x 和 y 值转换为二进制文件,然后连接二进制文件。这些点沿着 z 曲线(又名怪物曲线)排序。它具有非常好的空间特性。您可以使用最高有效位来验证上限。
关于php - 如何用外键存储地理位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25238611/