第三種就是利用資料庫的空間索引來做,貌似MySQL本身就支援的,用R Tree實現的,效率更高。1、把經緯度換成整數。
2、不算圓型算方型,避開乘方根號運算,直接 between 經度 and between 緯度。
3、確定了這個方內的人後,再進行乘方(但不開根號)排序就行。尋找 1000 米以內的人,資料庫設計和查詢如何?這個功能? - 資料庫設計快使用開源工具,橫橫哈嘿,快開啟原始碼,嘿嘿哈橫。用mongodb,內建這類演算法大家的座標儲存起來,然後把你的座標與大家的座標求距離就行了。geohash | rtree方案:geohash + redis set