我們有一個 jsonb 列 'roller' 作為
{
"roller": {
"dob": "8/16/1956",
"ext": {
"helio_status": ""
},
"grade": "11",
"gender": "M",
"sis_id": "3456704387",
"location": {
"zip": "99999"
},
"state_id": "546556560",
"roller_number": "ASWE51460438"
}
}
我們傳遞一個我們想要查找的變數{roller, sis_id}來檢查它是否存在
u.roller#>>'{roller, sis_id}' = 'SE223dsd'
我們在滾筒上創建了一個杜松子酒索引,但它不起作用,它總是對所有它們進行 seq 掃描。
是否有特定型別的索引會更好?任何幫助表示贊賞。
uj5u.com熱心網友回復:
如果你總是尋找那個特定的路徑,一個常規的 B-Tree 索引可能是最好的選擇:
create index on the_table ( (roller#>>'{roller, sis_id}') );
您必須確保始終roller#>>'{roller, sis_id}'在 WHERE 子句中使用運算式。不是等價的東西,例如roller -> 'roller' ->> 'sis_id'
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/442333.html
標籤:PostgreSQL 索引 jsonb postgresql-12
下一篇:這可以是什么樣的日期風格?
