ºÝºÝߣ

ºÝºÝߣShare a Scribd company logo
SQL Server’da Index KavramıPerformance Tuning ve Query Optimization
AjandaNeden Index ?Index Nasıl Çalışır ? (B-Tree Yapısı)Clustered IndexNonClustered IndexÖrneklerle Index Page’lerIncluded Column KullanımıSonuç - Özet
Neden Index ?SQL Server açısından index kullanımının en önemli amacı, istenen bilginin daha az veri okunarak daha kısa zamanda getirilmesini sağlamaktır.
Index kullanarak bir tablonun tamamını okumaktansa index key vasıtasıyla okumak istediğimiz kayıda daha hızlı bir şekilde ulaşmamız mümkündür.
Tamamlanması saatler süren bir sorgunun uygun index’ler kullanılarak saniyeler seviyesinde getirilmesi sağlanabilir.
Telefon rehberi index kullanımı için iyi bir örnektir. (Karışık Rehber – Sıralı Rehber)
Canlı örnek - table scan-index kullanımı arasındaki fark
Gerekli index’ler faydalı olduğu gibi çok fazla index kullanımı OLTP işlemlerde performans sıkıntısı doğurur.Index Nasıl Çalışır ? (B-Tree Yapısı)Index’in çalışma prensibini anlamak, Index tipine ve Index’in hangi kolonlar üzerine tanımlanması gerektiğine karar verme aşamaları için oldukça önem taşımaktadır.
Client Ä°steÄŸi -> Protocol Layer -> Parse -> Query Processor
Query Processor = Optimize + Execute
Optimize = En Uygun Index’ten Query Plan Oluşturulur.
Execute = Bu aşamada Index üzerinde B-Tree yapısı kullanılarak arama yapılır.Index’lerde B-Tree Yapısı1 Level Root
1 veya 1’den fazla Intermediate Level
1 Level LeafNonLeaf Level
Index Page’leri Görüntüleme
Clustered Index NonLeaf Level PagePage ÖrnekleriChildFileId
ChildPageId
Id – Clustered Index Key
UNIQUIFIER (*) – Key’i Unique’leştirmek İçin Kullanılır. (4 byte Integer)Alt Level Page’lere Erişmek İçin Kullanılır*Bir key’in unique olup olmaması index tanımlanırken kullanılan UNIQUE ifadesine bağlıdır.
NonClustered Index NonLeaf Level PagePage ÖrnekleriChildFileId
ChildPageId
Ad – NonClustered Index Key
Id – Clustered Index Key

More Related Content

SSO- SQL Serverda Index Kavramı