3
我有一个json,我将它作为jsonb存储在postgres中。postgres jsonb列上的GIN索引是否嵌套?
{
"name": "Mr. Json",
"dept":{
"team":{
"aliases":["a1","a2","a3"],
"team_name": "xyz"
},
"type":"engineering",
"lead":"Mr. L"
},
"hobbies": ["Badminton", "Chess"],
"is_active": true
}
已创建的列
我需要做精确匹配查询,如包含类型=“工程”的所有行,并导致='先生一个GIN索引。 L”。 我目前做的遏制查询:
data @> '{"dept":{"type":"engineering"}}' and data @> '{"dept":{"lead":"Mr. L"}}'
我看到查询计划,显示正在使用GIN索引,但我不能确定这是否正常工作或是否有实现这一目标的一些更好的方法。
我需要在嵌套键上构造另一个索引吗?
索引jsonb列索引嵌套键或只是最高级的索引?
也请分享一些很好的资源。
为什么不只是'data @''{“dept”:{“lead”:“Mr。L”,“type”:“engineering”}}''?您的查询将使用索引两次,而这(相当于)将只使用一次。 – pozs