Dizinleme Stratejisi
Database Indexing Strategy and Design · Ayrıca şöyle bilinir: index design, indexing
Dizinleme stratejisi, sorgu performansını hızlandırmak amacıyla veritabanı dizinlerini sistematik olarak tasarlama pratiğidir. 1972'de Bayer ve McCreight'in temel B-ağacı çalışmaları sonrasında geliştirilen etkili dizinleme, sorgu örüntülerini analiz etmeyi, uygun dizin yapılarını seçmeyi ve veri geliştikçe dizin sağlığını korumayı gerektirir.
Tam yöntemi oku
Bu bölümü okumak için ücretsiz hesapla giriş yapın.
Yöntem haritası
İlişkili yöntemlerin komşuluğu — keşfetmek için bir düğüm seçin.
Ne zaman kullanılır
Sorgu yanıt süresinin kabul edilemez olduğu veya kaynakların aşırı kullanıldığı durumlarda dizinleme stratejisini kullanın. En etkili olduğu durumlar, WHERE, JOIN ve ORDER BY yan tümcelerinde kullanılan sütunlar ve seçici sorgulara sahip tablolar için geçerlidir. Varsayımlar, güncelleme performansı ödünleşimlerinin kabul edilebilir olduğu ve istatistiklerin güncel olduğudur.
Güçlü yönler & sınırlılıklar
- Seçici öngörüler için sorgu yürütme süresini saniyelerden milisaniyelere düşürebilir
- Kod değişikliği olmadan mevcut uygulamalara uygulanır
- Dizin yeniden tasarımı ve ekleme yoluyla değişen sorgu örüntülerine uyum sağlar
- Dizinler depolama alanı tüketir ve INSERT, UPDATE ve DELETE işlemlerini yavaşlatır
- Dizin bakım yükü, yüksek yazma iş yükleri için önemli hale gelebilir
- Kötü seçilmiş dizinler fayda sağlamaz ve kaynakları boşa harcar
SSS
WHERE yan tümcesinde kullanılan her sütunu dizine eklemeli miyim?
Hayır. Yüksek seçiciliğe sahip sütunları (birçok satırı eleyen) ve sık kullanılan sütunları önceliklendirin. Düşük seçiciliğe sahip sütunlar (örn. 2 değeri olan cinsiyet) minimum fayda sağlar. Sık kullanılan birden çok sütun için bileşik dizinler kullanın.
Bileşik dizin nedir ve ne zaman kullanmalıyım?
Bileşik dizin, belirli bir sırada birden çok sütunu içerir. Sorguların sık sık birden çok sütuna göre birlikte filtrelendiği veya sıralandığı durumlarda kullanın. Örnek: INDEX(customer_id, order_date), müşteri VE sipariş tarihine göre filtreleyen sorgulara yardımcı olur.
Bir dizinin kullanılıp kullanılmadığını nasıl anlarım?
Sorgu yürütme planını göstermek için EXPLAIN veya EXPLAIN PLAN kullanın. Plan bir dizin adı ve Index Scan/Seek işlemleri gösteriyorsa, dizin kullanılıyordur. Table Scan gösteriyorsa, dizin kullanılmıyordur.
Dizin parçalanması nedir ve neden önemlidir?
Parçalanma, dizin sayfaları diskte bitişik olarak saklanmadığında meydana gelir ve daha fazla G/Ç işlemi gerektirir. Parçalanmayı giderme (REBUILD veya REORGANIZE), bitişikliği geri yükler ve performansı, özellikle aralık sorguları için iyileştirir.
Kaynaklar
- Bayer, R., & McCreight, E. (1972). Organization and maintenance of large ordered indices. Acta Informatica, 1(3), 173-189. DOI: 10.1007/BF00288683 ↗
- Seltzer, M., & Bostic, K. (1994). An implementation of a log-structured file system for UNIX. Winter USENIX Conference, 307-326. link ↗
- Garcia-Molina, H., Ullman, J. D., & Widom, J. (2009). Database Systems: The Complete Book (2nd ed.). Pearson Education. link ↗
Bu sayfayı kaynak gösterin
ScholarGate. (2026, June 3). Database Indexing Strategy and Design. ScholarGate. https://scholargate.app/tr/information-systems/indexing-strategy
Hangi yöntem?
Bu yöntemi en yakın akrabalarının yanına koyup yan yana okuyun — kütüphane kitapları masaya serer; seçim sizindir.
- Sorgu OptimizasyonuBilişim sistemleri↔ karşılaştır