10/20/2005

SQL Server 2000 - Index Kullanim Ipuclari

1- Sql Server kullanırken foreign keylerinizde mutlaka index kullanın, çünkü foreign keylerinizi mutlaka bir başka bir table ile join yaparken ve where clause içeren query içerisinde kullanacaksınızdır.

2- Sıkça WHERE clause, GROUP BY ve ORDER BY içerisinde kullandığınız sütunlar için mutlaka index kullanın.

3- Üzerinde belirli bir aralık için arama yapılan sütunlar için mutlaka index kullanın.(Ör: 10/10/2005 - 1/1/2006 arasindaki verileri aradiginiz bir sütun gibi)

4- Üzerinde Aggregate fonksiyon(Max, Min gibi) kullanılan sütunlar için index kullanın.

5- Birden fazla sütun üzerinde yaratacağınız multi sütunlu indexler için hangi sütunun önce gelmesi gerektiğine karar verirken;
  • Bir WHERE clause tarafından kullanılması daha olası olan sütunu birinci yapın.
  • Eğer 2 sütununda bir Where clause içerisinde kullanılma ihtimali yüksek ise, daha seçici olan (daha fazla değişik değerler içeren - yada DISTINCT kullandığınızda size daha çok sonuç veren)sütunu birinci yapın Çok küçük(az veri içeren) tabloları indexlemeyin. Sadece daha fazla yüke sebep olursunuz.
  • Birbirinden farklı değer pek içermeyen tabloları indexlemeyin, extra yüke sebep olmaktan başka bir faydası olmaz . (Ör: Sadece cinsiyet sütunu içeren bir tablosu - Veriler ancak Kadın/Erkek olabilir)

6- SQL Server tablonuz için Clustered Index seçerken clustered index sütununun kısa, ve değişken olmayan bir değer olmasına özen gösterin.

7- Fillfactor kullanımını öğrenin ve SQL Server tablonuzun kullanılacağı şekile göre uygulayın.

Fillfactor kullanımını ile ilgili makalem burada!