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