Shop表存儲字段Lat,Lng現(xiàn)在使用方案為通過sql語句進(jìn)行距離的計算之后orderbylimit進(jìn)行分頁但在SQL內(nèi)進(jìn)行計算,導(dǎo)致慢查詢.目前有兩種方案A方案:獲取用戶當(dāng)前的經(jīng)緯度通過算法找到每條記錄所在點(diǎn)的經(jīng)緯度周圍的一個大概范圍,比方說正方形的四個點(diǎn),然后使用mysql的空間計算B方案:通過Geohash算法算出附近的商家前端通過接口獲取數(shù)據(jù)進(jìn)行分頁,采用以上兩種方案時,均為一次性拉取出附近商戶的數(shù)據(jù),之后進(jìn)行距離的計算,根據(jù)距離的排序生成最終數(shù)組,此時數(shù)據(jù)分頁應(yīng)該采用根據(jù)數(shù)組的索引計算偏移量進(jìn)行分頁的操作?大家有更好的附近商家+分頁的算法嗎?補(bǔ)充同時要求能夠根據(jù)城市和區(qū)域進(jìn)行搜索
附近商家算法
富國滬深
2019-04-19 15:59:13