2
說我想找到離我最近的20個商家。後者我想看到接近的20個,等等。是的,我有myisam。我有空間索引的重點。我正在尋找我應該發送的實際SQL命令。如何找到積分,根據親密度進行排序,並得到1-20,21-40等。高效地使用Myisam和mysql以及空間索引
要清楚:
注:
- 我使用MySQL的的MyISAM空間索引。我反覆上網瀏覽谷歌,並沒有發現任何關於我的確切需求。
- 我不想爲整個表計算 距離(這太無效了)。空間索引的整個觀點是,至少你可以有效地去除很多點。如果某些指向左側和上方的資格不合格,那麼所有指向該點的左側和上方的點都不符合要求。
- 我不想計算距離爲 任何地區仍然效率低下。我感興趣的地區是10公里,那裏有65,000家企業。
- 我不介意計算距離 爲點的合理數量的,因爲我想點由 距離和排序能夠顯示點1-20,21-40,41-60,等等
- 我發現postgis的一種方法http://blog.opengeo.org/2011/09/28/indexed-nearest-neighbour-search-in-postgis/我想要類似的東西,但對於MySQL myisam。
- 我想要一個帶有實際sql代碼的網站作爲示例或實際的示例sql命令。所以請不要只說「使用空間」。咄。我知道。我想要實際的sql命令。
- 我不想先做一個小區域搜索的複雜循環。必須有一個sql命令可以通過mysql引擎有效地完成這一操作。
- 笛卡爾距離很好。沒有必要知道我們生活在一個地球上,除非你在北極或南極,而這不是我們大多數客戶的地方。
有160萬bizs。當然,爲所有人計算距離然後對其進行分類是很愚蠢的。
這就是地理空間索引踢的權利?
那麼我需要發送什麼SQL命令?
您是否試圖說我應該轉向mongodb,因爲它對於我的應用程序能夠進行空間搜索是絕對重要的。 –
+1。你應該能夠很快發表評論。 –
http://blog.opengeo.org/2011/09/28/indexed-nearest-neighbour-search-in-postgis/ 我會轉移到PostGIS。它似乎直接支持您需要的功能。 希望這會有所幫助。我不是很熟悉GIS的東西,這是所有搜索結果。 –