Sobes.tech
Junior — Middle

Millistel juhtudel on sobiv kasutada hash-põhist indeksit PostgreSQL andmebaasis?

sobes.tech AI

Vastus AI-lt

PostgreSQL-is sobiv kasutada hash-põhist indeksit, kui on vaja väga kiiresti teha võrdlusoperatsioone (=) kindlal veerul. Sellised indeksid on tõhusad täpsete vaste leidmisel, näiteks otsingul unikaalse identifikaatori või võtme järgi.

Kuid tuleb arvestada:

  • Hash-indeksid ei toeta vahemiku otsingut ( <, >, BETWEEN).
  • Uuemates PostgreSQL versioonides (alates 10-st) on hash-indeksid muutunud usaldusväärsemaks ja toetavad WAL-i (tehingute logi).
  • Enamikul juhtudel on parem kasutada B-puu indeksit, kuna see on mitmekülgsem.

Hash-indeksi kasutamise näide:

CREATE INDEX idx_hash_userid ON users USING hash(user_id);

Ideaalne, kui sageli teete selliseid päringuid:

SELECT * FROM users WHERE user_id = 12345;

Kui on vaja vahemiku päringuid või sorteerimist, on parem kasutada B-puu indeksit.