Postgresql
POINT優於DOUBLE的距離查詢優勢?
我即將啟動一個應用程序,它需要一個簡單的距離查詢來訂購結果。經過一番搜尋,我發現了一些似乎很容易完成這項工作而無需 PostGIS 的功能,這對我的任務來說似乎太多了。
我的問題是:從性能的角度來看,使用 POINT 數據類型分別儲存 lat/long 或兩個 DOUBLE 欄位會更好嗎?他們會有什麼不同嗎?
額外的問題:該連結的方法確實是個好主意嗎?
A
point
由兩個double precision
值組成。您在磁碟和 RAM 中儲存相同的資訊、相同的大小。但是有一組稍微不同的約束。兩個單獨的列可以獨立也可以
NULL
不獨立。一個點只能是 NULL作為一個整體:您可以對點使用幾何函式和運算符。但是您可以輕鬆地從兩個數字中動態建構一個點:
point(x, y)
. 相反,您可以輕鬆地point
以double precision
數字形式訪問 a 的座標:p[0]
,p[1]
(從 0 開始的索引!)當您不使用更複雜的類型
geometry
或geography
PostGis 提供時,這基本上是品味和風格的問題。