有乙個營銷砍價活動,當使用者報名完成後,需要選擇去領取活動商品的門店,可選的門店列表需要按照距離當前使用者經緯度最近的3家門店進行距離排序,假設候選門店有10000家門店。具體demo如下圖:
2.1 思路
2.2 geohash實踐
2.2.1 活動繫結門店表增加geohash欄位
id(自增,bigint)
shop_id(門店id,bigint)
lon(經度,string)
lat(緯度,string)
geohash(string)
23234232
119.466602
29.214044
wthynw2b
2.2.2 構造查詢sql
select * from t_cmc_act_child_shop
where is_deleted = 0
and act_id =990
and geohash like concat(#, '%');
limit 3
2.3 ** geohash的應用 附近位址搜尋
url 簡單使用 geohash,redis,bottle,python geohash 來實現 restful api的地理位置附近人搜素 依賴的redis封裝class import redis class redis object pool none r none def init self,...
mysql查詢附近優化思路
思路就是一,怎麼使用索引,如何縮小範圍 1.按照地區進行縮小範圍 例如中國,就比全球要小,北京又比中國要小,甚至精確到某個區,縣等 2.通過geohash演算法,建立索引 其實就是通過一種編碼方式,將二維的經緯度轉換為一維的,類似於那將整個地球劃分成4000 4000,每個格仔再劃分成10 10,最...
GeoHash演算法獲取附近店鋪和距離
geohash演算法將二維經緯度座標直接轉換成字串,每乙個字串代表乙個矩形區域,也就是說,這個矩形區域內所有的點 經緯度座標 都共享相同的geohash字串,字串的長度越大,矩形的區域就越小,經度也就越高。字串相似的表示距離相近,這樣可以利用字串的字首匹配來查詢附近的poi資訊。地球緯度區間是 90...