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 4
PostgreSQL 12-03-2019 1 Risposta 1003 Visite +1
Baldassare Rao

Baldassare Rao

Autore di questa domanda

Risposte ( 1 approvate )

  1. Arturo Padova
    0
    12-03-2019 23:28:52
    Rispondi

    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.

Rispondi

Per poter rispondere a questa domanda, devi essere registrato e loggato sul sito, dopodichè compila il box sottostante cercando di essere il più chiaro ed esauriente possibile, la tua risposta potrebbe essere la soluzione che l'utente cerca ed essere contrassegnata come migliore, consentendoti così di ottenere punti ed autorevolezza.

 Domanda Precedente

 Elenco Domande 

Domanda Successiva