2014-01-23 79 views
0

有人會提供一些關於如何索引hstore的所有keys的信息嗎?索引PostgreSQL Hstore Keys

例子:我想從包含特定關鍵字的表中檢索所有條目:

SELECT * FROM my_table WHERE hstore_col ? 'MyKey' 

的問題是,我需要all鍵來進行索引,而不只是一個特定的一個。目前有300多個獨特的密鑰,因此爲每個密鑰創建索引不是一種選擇。因此,下面的指數聲明功虧一簣,而這正是挑戰出現了:

CREATE INDEX "my_index" ON table _col ((hstore_col->'MyKey')) 

回答

1

你應該能夠在列本身對每個鍵索引的要點或杜松子酒指數度日,既這些索引類型支持?運算符。

例如:

create index idx_my_table_gist_hstore_col 
on my_table using gist (hstore_col) 
; 
+0

測試,我會盡快與您聯繫。 –

+0

此查詢:'SELECT * FROM my_table WHERE hstore_col? 'MyKey'在創建時不會使用索引:CREATE INDEX my_idx ON my_table USING GIST(hstore_col)' –

+0

1.「set enable_seqscan = false」並驗證索引是否可用。 1.你有多少行數據? – yieldsfalsehood