Ticari programda cari ekstresi açılırken bekliyorsunuz, ay sonu raporu dakikalar sürüyor. Destek firması "veritabanında indeks eksik" veya "indeksler parçalanmış" diyor. Bu ifadeyi anlamak için teknik bilgi gerekmez: indeks, bir kitabın arkasındaki dizine benzer.
Kitap dizini benzetmesi
500 sayfalık bir kitapta belirli bir konuyu bulmak istediğinizi düşünün. Dizin yoksa kitabı baştan sona taramanız gerekir. Dizin varsa konunun hangi sayfada olduğunu bulur ve doğrudan oraya gidersiniz. Veritabanında da durum aynıdır: yüz binlerce satırlık bir hareket tablosunda belirli bir müşterinin kayıtlarını bulmak için indeks yoksa tüm tablo taranır.
Neden yavaşlık yaratır?
İşletme büyüdükçe tablolar da büyür. İlk yıllarda fark edilmeyen eksik indeks, birkaç yıl sonra dakikalar süren raporlara dönüşür. Ayrıca aynı anda birden fazla kullanıcı aynı yavaş sorguyu çalıştırdığında sunucu zorlanır ve herkes yavaşlık hisseder.
Fazla indeks de sorun
Her sütuna indeks eklemek çözüm değildir. Her yeni kayıt veya güncelleme, ilgili tüm indekslerin de güncellenmesini gerektirir. Fazla indeks, fatura kaydetme ve stok hareketi gibi işlemleri yavaşlatır, disk alanı tüketir. Doğru denge, programın en sık yaptığı sorgulara göre kurulur.

Parçalanma ve istatistikler
Zamanla kayıt ekleme ve silme işlemleri indeksleri parçalar; tıpkı karışmış bir dizin gibi. Ayrıca veritabanı, sorguyu nasıl çalıştıracağına istatistiklere bakarak karar verir. Eski istatistikler, veritabanının yanlış yolu seçmesine neden olabilir. Bu nedenle indeks bakımı ve istatistik güncellemesi düzenli yapılmalıdır; ayrıntılar için SQL Server bakım planı yazımıza bakabilirsiniz.
Yazılım firmasıyla iş birliği
Ticari programlarda indeks yapısı yazılım üreticisinin sorumluluğundadır. İşletmeye özel bir yavaşlık varsa, hangi ekran veya raporun yavaş olduğu bilgisiyle üreticiye başvurmak en doğrusudur. Kendi başına indeks eklemek, program güncellemelerinde sorun çıkarabilir.
Diğer nedenler
Yavaşlığın tek nedeni indeks değildir. Sunucu belleği, disk hızı, ağ ve veritabanı ayarları da etkilidir. Genel kontrol listesi için veritabanı yavaşladı, bellek ayarı için SQL Server bellek ayarı yazılarımıza bakabilirsiniz.
Yönetici olarak ne yapmalı?
Yavaşlığın hangi işlemlerde, hangi saatlerde ve kaç kullanıcıda yaşandığını not etmek, teknik ekibin sorunu bulmasını hızlandırır. Düzenli bakım planının kurulu olduğunu ve çalıştığını sormak da yöneticinin kontrol edebileceği basit bir adımdır.
Sur Bilgisayar olarak veritabanı performans analizi, bakım planı kurulumu ve sunucu iyileştirmesi konusunda destek veriyoruz. Ayrıntılar için sunucu kurulum ve bakım hizmetleri sayfamıza bakabilirsiniz.
Sık sorulan sorular
İndeksleri kendimiz ekleyebilir miyiz?
Her sütuna indeks eklemek programı hızlandırır mı?
İndeks bakımı ne sıklıkla yapılmalı?
Bu konuda destek mi lazım?
Windows Server ve Linux sunucu kurulumu, bakım ve optimizasyon, Veeam yedekleme, IIS yapılandırması ile SQL Server, MySQL ve Firebird…

