Az önce bir şeyle karşılaştık ki, evlere şenlik bir durum. Öncelikle bunun nedenini ve avantajlarını bilen varsa yazsın (MSDN ve Technet'te zırvaladıkları haricinde esas noktalardan bahsediyorum, çünkü oraları okuduk)
Bir tablo üzerinde fihrist_id (autoinc), adi_soyadi (varchar(50)), telefon_no1 (varchar(25)), telefon_no2 (varchar(25)), telefon_no3 (varchar(25)) şeklinde fieldlarımız var.
Firebird'ün Index seçme ve kullanma üzerine denemeler yaptık ve LIKE'da dahi indexleri çok güzel ve kurnazca kullandığını gördük. Daha sonra bunları bir de M$-SQL Server da deneyelim bakalım ne yapıyor diye araştıralım istedik. Bir de ne gördük, index yaptığımız halde indexleri kullanmıyor. Table Scan yapıp duruyor. Acaba dedik, page size'dan kaynaklı düşük kayıt sayısı sebebiyle Table Scan kolayına geliyor da onu mu kullanıyor dedik, kayıt sayısını 500,000'lere filan çıkardık.
sorgu şu
Kod: Tümünü seç
SELECT adi_soyadi, telefon_no1, telefon_no2, telefon_no3
FROM tbl_fihrist
WHERE adi_soyadi = 'HAKAN ÖZTÜRK'
Kod: Tümünü seç
SELECT adi_soyadi
FROM tbl_fihrist
WHERE adi_soyadi = 'HAKAN ÖZTÜRK'
Yahu hangi akla hizmet böyle bir tospağalık yapmışlar? Bunun nedenini bilen var mı? INDEX'leriniz kontrol edin, SELECT'lerinizde yavaşlık varsa uyarıda bulunduğum konuyu dikkate alıp deneme yapın, acayip saçmalık bir şey uydurmuş yine bu mikropsoftçular (Tıpkı WITH NO LOCK gibi bir taraflarından yine bir şey uydurmuşlar)
Valla şaka etmiyorum, Allah rızası için bir bilen varsa bunun bana mantıklı bir izahını yapsın.
Kolay Gelsin