Junior — Middle
PostgreSQL veritabanında hash tabanlı indeks kullanımı hangi durumlarda uygundur?
sobes.tech yapay zeka
AI'dan gelen yanıt
PostgreSQL'de, belirli bir sütun üzerinde çok hızlı eşitlik (=) işlemleri yapmak gerekiyorsa, hash tabanlı bir indeks kullanmak uygundur. Bu indeksler, özellikle benzersiz tanımlayıcı veya anahtar gibi tam eşleşme aramalarında etkilidir.
Ancak, dikkate alınması gerekenler:
- Hash indeksler, aralık sorguları (
<,>,BETWEEN) desteklemez. - PostgreSQL'in daha yeni sürümlerinde (10 ve sonrası), hash indeksler daha güvenilir hale geldi ve WAL (işlem günlüğü) desteği kazandı.
- Çoğu durumda, daha esnek olduğu için B-Tree indeks kullanmak daha iyidir.
Hash indeks kullanımı örneği:
CREATE INDEX idx_hash_userid ON users USING hash(user_id);
Sık sık şu tür sorgular yapılıyorsa idealdir:
SELECT * FROM users WHERE user_id = 12345;
Aralık sorguları veya sıralama gerekiyorsa, B-Tree indeks kullanmak daha uygundur.