4 Temmuz 2010 Pazar

Sql İndex kullanımı

Index kullanımı bı ornekle anlatmak daha ii olacak.
öncelikle bir ogrenci tablosu olusturduk




index kullanmadan tablodakı tum bılgıler sekıldekı gıbı gorunuyor.



 fakat ındex kullanarak yaparsak.

         create clustered index on ogrenci(ogr_ad)                            seklınde bır ındex olusturuoruz.

tablonun yeni hali isim sırasına gore geliyor.

index kullanmak tablo ustunde arama yapmada cok buyuk kolaylıklar saglamakta.
index kullanmadan yapılan aramalarda veriyi tum tabloda aramak zorunda kalıoruz eger tabloda mılyonlarca kayıt varsa bayagı performans kaybı olur.

fakat ındex kullanarak yaparsak tablodakı veriler zaten sıralı bı sekılde tutuldugundan istedigimiz verilere cok rahatllıkla erisebılmekteyız.index kullanarak yapılan tablolarda deger aranırken 'b tree' data yapısı kullanılarak yapılır.1 mılyonluk kayıt ıceren bır tabloda ıstedıgimiz kayıtı tabloya 20 kez bakarak bulabılmekte.

NON-CLUSTERED İNDEX
Yukardakı ornekte indexi clustered(kumeleme) ile yaptık buda bıze lıstemızı sıralı olarak getirdi.fakat ındex olusturulurken herhangı bır ozellık verilmezse default olarak non-clustered olur.Non-clustered indexin ozelligi tablo gosterdıgımızde sıralı olarak gelmez fakat index fiziksel olarak hafızada sıralı tutulur.Tablo içindeki verilerin sıklıkla degıstıgı tablolarda non -clustered index kullanmak daha elverişlidir.

İndex silmek

tabloda bulunan bir index silmek için :
       drop index tablo_ismi.index_ismi     seklınde kullanılır ve ıstenen ındex sılınmıs olur.

Hiç yorum yok:

Yorum Gönder