Condividi
Qual'è la differenza tra Sequential Scan e Bitmap heap scan in postgres?
Come recita il titolo, vorrei capire la differenza tra 'Seq Scan' e 'Bitmap heap scan' in un query fatta in un database PostgreSQL.
In Corso
5
PostgreSQL
13-03-2019
1 Risposta
896 Visite
+1
Risposte ( 1 approvate )
Andiamo per ordine e diamo una breve definizione delle due scansioni, giusto per capirci.
Sequential Scan: comincia a leggere dal primo record e prosegue sino a quando la query non è soddisfatta; questo non vuol dire che legge tutti i records della tabella, dipende da eventuali clausole (WHERE ad es.) e/o dai LIMIT settati. Per intenderci è la classica query.
Bitmap heap scan: a differenza della precedente, legge solo un sotto insieme dei record di una tabella (ad es. da un indice), quindi può impiegare più tempo nella ricerca ma essere molto veloce nella 'lettura'.
A te le conclusioni su quando usare l'una e quando l'altra, che ovviamente dipendono dal caso e dai numeri di records coinvolti.