PostgreSQL'de index oluşturmak için genel olarak şu syntax kullanılır:
CREATE INDEX index_adi ON tablo_adi (sutun_adi);
Daha detaylı bir açıklama ve birkaç örnek verebilirim:
- Basit bir index:
CREATE INDEX idx_musteri_soyad ON musteriler (soyad);
- Birden fazla sütun üzerinde index:
CREATE INDEX idx_musteri_ad_soyad ON musteriler (ad, soyad);
- Benzersiz (unique) index:
CREATE UNIQUE INDEX idx_urun_kod ON urunler (urun_kodu);
- Kısmi (partial) index:
CREATE INDEX idx_aktif_musteriler ON musteriler (musteri_id) WHERE aktif = true;
- Fonksiyon bazlı index:
CREATE INDEX idx_lower_email ON kullanicilar (LOWER(email));
Bu index türleri farklı senaryolarda performans iyileştirmesi sağlayabilir. Hangi indexi kullanacağınız, veritabanı şemanıza ve sorgularınıza bağlıdır.
İndexler sorgularınızı hızlandırabilir, ancak yazma işlemlerini yavaşlatabilir ve disk alanı kullanır. Bu nedenle, index oluştururken dikkatli olmalı ve gerçekten ihtiyaç duyulan yerlerde kullanmalısınız.