我有一个json,我将它存储为postgres中的jsonb.
{ "name": "Mr. Json","dept":{ "team":{ "aliases":["a1","a2","a3"],"team_name": "xyz" },"type":"engineering","lead":"Mr. L" },"hobbies": ["Badminton","Chess"],"is_active": true }
已在列上创建了GIN索引
我需要完成匹配查询,例如包含type =’engineering’和lead =’Mr.的所有行. L”.
我目前正在进行遏制查询,例如:
data @> '{"dept":{"type":"engineering"}}' and data @> '{"dept":{"lead":"Mr. L"}}'
我看到了显示GIN索引正在使用的查询计划,但我不确定这是否有效或是否有更好的方法来实现这一点.
我是否必须在嵌套键上构建另一个索引?
索引jsonb列是为索引嵌套键还是仅为顶级键索引?
还请分享一些有用的资源.