Condividi
Vantaggi e Svantaggi dell'uso dei Partial Index in PostgreSQL
PostgreSQL consente di definire i cosidetti 'Partial Index', che non sono altro che degli indici definiti su un sottoinsieme di una tabella; detto sotto insieme viene definito a mezzo di una espressione condizionale che prende il nome di 'predicate' del Partial Index.
Facendo alcuni test ho potuto appurare che questi indici parziali performano molto bene, ad esempio durante una interrogazione al database, la query può accedere ad un numero ristretto di records anche in presenza di una tabella con migliaia e migliaia di righe.
Se gli indici parziali in PostgreSQL sembrano essere così efficaci, come mai non se ne fà un uso più ampio? Presentano alcuni svantaggi oltre ai vantaggi citati prima?
In Corso
3
PostgreSQL
12-03-2019
1 Risposta
1140 Visite
+1
Risposte ( 1 approvate )
I vantaggi e gli svantaggi degli Indici Parziali in PostegreSQL sono dati dalla loro stessa natura e dipendono molto dall'uso appropriato o meno che se ne fà.
Vantaggi: risultano molto veloci e performanti se la query viene eseguita sul sotto insieme di record che soddisfa il predicato per i quali sono stati definiti, come dici tu riduce di molto il numero di records sul quale il motore di database va ad eseguire l'interrogazione.
Svantaggi: nel caso l'insieme di records è molto ampio, o peggio ancora facciamo JOIN tra una o più tabelle, l'insieme dei records coinvolti si allarga e pertanto molti di essi non saranno indicizzati (dal Partial Index) con un degrado notevole delle prestazioni.