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