PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Postgres gerarchico (jsonb) CTE inutilmente lento

Sembra che gli indici Gin si comportino bene. Se creo un indice Gin nella colonna degli indici, quindi cambio Join in

ON t.indexes @> jsonb_build_object('Id', c.indexes -> 'parentId')

E dove si va

WHERE t.indexes @> jsonb_build_object('Id', h.pid)

Non è veloce come l'indice puramente funzionale, ma almeno si aggiornerà dinamicamente e il piano di esecuzione non ha quell'ordinamento non necessario

Ulteriori miglioramenti delle prestazioni possono essere apportati aggiungendo il flag dell'indice gin jsonb_path_ops