Implicit Conversion yüzünden index kullanılmıyor — çözüm
WHERE veya JOIN'de kolon ile parametre/literal arasında tip uyumsuzluğu olduğunda SQL Server implicit conversion uygular. Bu, kolon üzerinde dönüşüm gerektirdiği için index seek'i imkânsız kılar ve tam tarama (scan) yapılır.
Kendi sorgunuzu yapıştırın — bağlantı olmadan, saniyeler içinde teşhis alın.
Sorgu Analizcisini açBelirtiler
- Execution plan'da CONVERT_IMPLICIT uyarısı
- Uygun index olmasına rağmen Index Scan (seek değil)
- Örn. NVARCHAR kolon VARCHAR ile, ya da string kolon sayı ile karşılaştırılıyor
Kök nedenler
- Parametre tipi kolon tipinden farklı (ör. NVARCHAR parametre, VARCHAR kolon)
- Uygulama katmanı yanlış tip gönderiyor (ORM kaynaklı sık görülür)
Çözüm adımları
Tip uyumunu sağla
Parametre/literal tipini kolon tipiyle eşleştirin. ORM kullanıyorsanız kolon tipine uygun parametre tipi tanımlayın.
Şemayı gözden geçir
Sık karşılaştırılan kolonlarda tutarlı tip kullanın (ör. tüm string anahtarlar aynı collation/tip). Gerekirse kolon tipini normalize edin.
Sık sorulanlar
Sorguda CAST kullanmak çözer mi?
Kolonu değil, parametreyi/literali kolon tipine dönüştürün. Kolonu CAST'lerseniz seek yine kaybolur.
Sorgunuzu ChatGPT'ye değil, senior DBA'ye sorun
Deterministik DBA checklist + execution plan analizi. Bağlantı yok, credential yok.
Ücretsiz analiz et