Veritabanı İndeksleme (Database Indexing) Nedir?

İngilizce: Database Indexing

Veritabanı indeksleme, tabloda aranan satırlara daha hızlı ulaşmak için seçili kolonlarda ek veri yapıları oluşturur.

Veritabanı İndeksleme (Database Indexing) Nedir?

Veritabanı indeksleme, bir tablodaki tüm satırları tek tek taramak yerine aranan değere daha kısa yoldan ulaşmak için kullanılan veri yapılarıdır. Kitaptaki dizin nasıl konuyu sayfa sayfa aramayı engelliyorsa, veritabanı indeksi de uygun sorgularda satır bulmayı hızlandırır.

Nasıl Çalışır?

En yaygın indeks türü B-tree’dir. Eşitlik ve aralık sorgularında, örneğin customer_id = 42 veya created_at > ..., veritabanı önce indeksi okur, sonra ilgili satırların konumuna gider. PostgreSQL gibi sistemlerde GIN, GiST, BRIN ve hash indeksleri de farklı veri türleri ve arama modelleri için kullanılır.

Ne Zaman Faydalıdır?

Sık filtrelenen, sıralanan veya join yapılan kolonlar indeks adayıdır. Bir e-ticaret tablosunda order_id, customer_id, status, created_at gibi alanlar buna örnektir. Primary Key çoğu veritabanında otomatik indeks oluşturur; ancak raporlama ve arama sorguları için ek indeks gerekebilir.

Dikkat Edilecekler

Her indeks yazma maliyeti getirir. INSERT, UPDATE ve DELETE sırasında indeksler de güncellenir; gereksiz indeksler depolama tüketir ve bakım yükü oluşturur. Bu nedenle indeks kararı gerçek sorgu planı, tablo boyutu ve okuma-yazma dengesiyle verilmelidir.

SQL sorgularında doğru indeks seçimi, sorgu optimizasyonu çalışmalarının temel parçalarından biridir.