Sorgu Performansı İpuçları

  • Sorgu çalışma planlarına baktığımızda actual ve estimated rows değerleri genelde aynı gelir. Eğer farklıysa bu istatistiklerin güncellenmesi gerektiğini gösterir.
  • Bir tabloda genel clustered index kriterlerini sağlayan bir clustered index bulunması “best practice” bir yaklaşımdır.
  • RID lookup da Key Lookup’da ilave I/O işlemlerine sebep olur. Bunlardan kurtulmaya çalışmak gerekir.
  • Sort işlemi de sorgu maliyetini artıran bir işlemdir. Bu sıralamaya gerçekten ihtiyaç var mı? Gerçekten ihtiyaç varsa bu kolona göre index var mı bakmak gerekir?
  • SQL Sorgularının sargable (Search ARGument ABLE) olması için:
    – sorguladığımız kolon üzerinde herhangi bir işlem olmamalı. LEFT(SOYAD,2) ya da CONVERT(varchar(12),TARIH) gibi
    – LIKE operatörü LIKE N’AL%‘; şeklinde aradığımız pattern başa yazark kullanılmalı. N’%AL’ şeklinde kullanılmamalı
  • SARGABLE operatörler: = , >, >=, <, <=, IN, BETWEEN
  • SARGABLE olmayan operatörler: NOT, <>, LIKE ‘%PATTERN’, NOT IN
  • Sorgu içerisinde implicit conversion olması sorgu performansını son derece kötü etkiler
  • Select sorgusunda yalnızca gerçekten ihtiyaç duyulan kolonlar eklenmelidir.