2013-06-04 39 views
0

point_ops的9.0 release notes PostgreSQL的規定如下變化:PostgreSQL用於GiST的PostGIS的空間索引

添加point_ops運營商級的大意(特奧多爾Sigaev)

此功能允許點列的要點索引。索引可以是 ,用於幾種類型的查詢,如point <@ polygon(多邊形中的點數爲 )。這應該會使許多PostGIS查詢更快。

我有一個非常大的表(數百萬行),有時與GEOMETRY(POINT,[SRID])列進行比較,有時會與多邊形進行比較。創建索引時,是否需要執行任何操作?我是否必須使用他們指示的操作員,還是可以使用ST_Contains

(我敢肯定的答案是文檔的某個地方,但我不能找到它。)

回答

4

這是一個的opclass,讓你在CREATE INDEX命令指定:

CREATE INDEX idx_name ON tablename USING GiST (col_name point_ops); 
+0

謝謝!這有幫助。我去閱讀關於運算符類的PostgreSQL文檔,但是我仍然對有關PostGIS的工作方式感到有些遺憾。哪些運算符可以使用由'point_ops'創建的索引? 「ST_Contains」(內部使用「&&」),還是我需要使用'<@'運算符?谷歌搜索,這個問題是第一個出現,所以它看起來不像有很多信息可以找到。 – jpmc26

+0

@ jpmc26我還沒有用PostGIS做足夠的工作......我建議在PostGIS郵件列表或pgsql-general上發帖。鏈接到這個問題,如果你這樣做。 –