2012-10-04 126 views
0

我的數據庫有一個座標列表,我需要爲移動應用程序構建一個API,應用程序將向我發送當前緯度/經度的一種方法,並且必須根據我的數據庫檢索附近的位置。附近位置

事情是,我該怎麼做?我只能用MySQL找到方法,但它對性能有好處。

我在使用PHP和Symfony2框架。

編輯:

我使用MySQL,但我有成千上萬的記錄,我這樣做是非常緩慢的一些性能比較測試。

+0

如果你可以找到MySQL的方法,但它們不適合,那麼大概你使用的不是MySQL的數據庫......如果你告訴我們哪一個數據庫會有幫助。 – Quentin

+0

我使用的是MySQL,但是我將有數千條記錄,並且我做了一些性能測試,這對我所需要的不是很好。 – Zingui

回答

1

改爲使用PostgreSQL代替它是可行的嗎?

我只提到它,因爲它具有您正在尋找的功能,所以對於此用例可能效率更高。請參閱:geocodable behaviour for Doctrine2(或Propel equivalent

+0

不幸的是,我不能,應用程序已經在MySQL上運行,並且在這個數據庫中還有其他服務正在連接。我只是建立一個API來揭示這些經緯度到移動應用程序。 – Zingui

0

如果這是一個選項,則可以使用Solr和地理空間搜索。檢查出http://wiki.apache.org/solr/SpatialSearch

設置solr並索引你的位置數據庫可能看起來有點花銷,但是在搜索操作中使用solr而不是mysql來提高性能是非常巨大的。