索引PostgreSQL Hstore密钥

时间:2014-01-23 16:24:43

标签: postgresql hstore

有人会对我如何索引hstore的所有keys提供一些见解吗?

示例:我想从表中检索包含特定键的所有条目:

SELECT * FROM my_table WHERE hstore_col ? 'MyKey'

问题是我需要将all个密钥编入索引,而不仅仅是特定密钥。目前有300多个唯一密钥,因此不能为每个密钥创建索引。因此,以下索引声明不足,这就是挑战出现的地方:

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

1 个答案:

答案 0 :(得分:1)

您应该能够通过列本身的gist或gin索引与每个键上的索引相比较,因为这两种索引类型都支持?运算符。

例如:

create index idx_my_table_gist_hstore_col
on my_table using gist (hstore_col)
;