Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.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 按任意键排序的存储索引_Postgresql_Hstore - Fatal编程技术网

Postgresql 按任意键排序的存储索引

Postgresql 按任意键排序的存储索引,postgresql,hstore,Postgresql,Hstore,我运行的查询依赖于对HStore中任意键的值进行排序和比较,例如: SELECT * FROM hstest WHERE h->'key1' >= 'a'; SELECT * FROM hstest ORDER BY h->'key1'; 其中h是一个HStore字段。这些查询可以工作,但我想知道为这些类型的搜索索引字段的最佳方法是什么 我知道我可以做这样的事情: CREATE INDEX hstest_index_h ON hstest USING BTREE ((h-&g

我运行的查询依赖于对HStore中任意键的值进行排序和比较,例如:

SELECT * FROM hstest WHERE h->'key1' >= 'a';
SELECT * FROM hstest ORDER BY h->'key1';
其中
h
是一个HStore字段。这些查询可以工作,但我想知道为这些类型的搜索索引字段的最佳方法是什么

我知道我可以做这样的事情:

CREATE INDEX hstest_index_h ON hstest USING BTREE ((h->'key1'));

但是,有没有一种方法可以为HStore上的任意键创建一个索引(即,
key1
由最终用户确定)?

如果您想使用?;运算符确定键是否存在,您是否查看了Gist和Gin索引。是的,我知道我可以添加Gist/Gin索引来检查键是否存在,但是这些有助于在键处对值进行排序吗?