Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
索引PostgreSQL Hstore密钥_Postgresql_Hstore - Fatal编程技术网

索引PostgreSQL Hstore密钥

索引PostgreSQL Hstore密钥,postgresql,hstore,Postgresql,Hstore,是否有人能提供一些见解,让我了解如何为hstore的所有键编制索引 示例:我想从包含特定键的表中检索所有条目: SELECT * FROM my_table WHERE hstore_col ? 'MyKey' 问题是我需要索引所有的键,而不仅仅是一个特定的键。目前存在300多个唯一键,因此不能为每个键创建索引。因此,以下索引声明不足,这就是挑战所在: CREATE INDEX "my_index" ON table _col ((hstore_col->'MyKey')) 您应该能够

是否有人能提供一些见解,让我了解如何为hstore的所有
键编制索引

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

SELECT * FROM my_table WHERE hstore_col ? 'MyKey'
问题是我需要索引所有的
键,而不仅仅是一个特定的键。目前存在300多个唯一键,因此不能为每个键创建索引。因此,以下索引声明不足,这就是挑战所在:

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

您应该能够在列本身上使用gist或gin索引,而不是在每个键上使用索引,因为这两种索引类型都支持
运算符

例如:

create index idx_my_table_gist_hstore_col
on my_table using gist (hstore_col)
;

正在测试,我将很快与您联系。此查询:
SELECT*FROM my_table WHERE hstore_col?“MyKey'
在根据您的示例创建时不使用索引:
使用GIST(hstore\u col)在my\u表上创建索引“my\u idx”
1。“设置enable_seqscan=false”并验证索引是否可用,只是没有使用。1.你有多少行数据?啊哈!我的postgre(9.1)版本不支持?然而,在hstores上,在9.3实例上进行测试是可行的。是时候迁移了。非常感谢,先生!