2013-02-12 92 views
0

我正在爲一個快速包含很多行的項目創建一個新的數據模型。在這方面,我正在考慮是否應該使用MySQL POINTDECIMAL來存儲緯度/經度位置指示。MySQL列POINT vs 2x DECIMAL(lat&lng)性能

我知道沒有選擇POINT會使我更難進行地理計算,因爲我沒有獲得可用於DECIMAL字段的新內置地理功能,但是我可以在沒有它們的情況下生活 - 選擇將只與一個外框模型,如WHERE (lat BETWEEN 1 AND 2) AND (lng BETWEEN 0 AND 5)

然而,我擔心數據庫的大小 - 和更重要的是:查詢時間/執行

  1. POINT是一個像DECIMAL這樣的固定長度字段嗎?
  2. 使用POINT或2x DECIMAL for lat/lng會更高效嗎?

回答

0

我使用VARCHAR來存儲緯度/經度。 MySql與數學函數不是很好,所以我把lat/lng存儲爲一個VARCHAR和php腳本(或者java腳本或perl腳本或者你想要的)來進行計算......

+0

對不起,這對我來說是一個可行的選擇,因爲1)對於像這樣的大數據集,VARCHAR不是一個有效的字段,2)具有組合經度/長度的VARCHAR不允許根據經度/緯度進行正確的選擇(我願意這就是你建議)。無論哪種方式,你的答案不會幫助我從上面的問題:-(Thanka努力無論如何:-) – preyz 2013-02-12 20:33:50