Junior — Middle
In quali casi è opportuno utilizzare un indice basato su hash in un database PostgreSQL?
sobes.tech AI
Risposta dell'AI
In PostgreSQL, è opportuno utilizzare un indice basato su hash quando si devono eseguire operazioni di uguaglianza (=) molto rapidamente su una colonna specifica. Questi indici sono efficaci per trovare corrispondenze esatte, ad esempio nella ricerca di un identificatore univoco o di una chiave.
Tuttavia, bisogna considerare:
- Gli indici hash non supportano operazioni di ricerca per intervallo (
<,>,BETWEEN). - Nelle versioni più recenti di PostgreSQL (a partire dalla 10), gli indici hash sono diventati più affidabili e supportano WAL (registro delle transazioni).
- Per la maggior parte dei casi, è meglio usare un indice B-tree, poiché è più versatile.
Esempio di utilizzo di un indice hash:
CREATE INDEX idx_hash_userid ON users USING hash(user_id);
Ideale se si eseguono frequentemente query come:
SELECT * FROM users WHERE user_id = 12345;
Se sono necessarie query per intervallo o ordinamento, è meglio usare un indice B-tree.