Sql ' de İndexler


İndex Nedir?

İndex view veya tablodaki belirli sütunları 
kullanarak tablo içerisindeki verilere hızlı 
erişimi ve verilerin belirli sütunlara göre 
sıralanmasını sağlar.
 İndexler tablodan ayrı depolanırlar.


İndex Nasıl Çalışır?


Sql sorgusu çalıştığında kayıtlar iki 
yöntemle alınır
– Table scan
• Tüm tablodaki kayıtlar incelenerek veri döndürülür.
– İndexler yardımıyla
• Kitaplardaki içindekiler mantığına benzer çalışır.

İndex Özellikleri

İndexler tablolardaki sütunlar üzerinde 
tanımlanırlar.
• İndexler veriye erişimi hızlandırır.
• İndex oluşturmak genellikle sorgunun hızlı cevap 
vermesini sağlar. Fakat oluşturmak zaman alır 
ve yer kaplar.
• İndex oluşturulan bir sütunda veri ekleme,silme 
güncelleme diğerlerine göre daha uzun sürebilir 
fakat bu fark index kullanımının veri erişiminde 
sağladığı performansın yanında göz ardı 
edilebilir.

İndex Ne Zaman Kullanılır

En temel koşullu sorguları hızlandırmak
için.
• Tablo içerisinde sütundaki değerin tekrar
etmesi istenmiyorsa
• Tablo birleştirme işlemlerinde
birleştirmede kullanılan sütunlar mutlaka
indexlenmelidir.
• aralık sorgularını hızlandırmak için
• order by ifadesini hızlandırmak için

İndex Ne Zaman Kullanılmaz?

Aynı değeri tekrar tekrar içeren değerler 
için index kullanılmaz. Örnek cinsiyet 
• Sorgularda çok az kullanılan yada hiç 
kullanılmayan sütunların indexlenmesine
gerek yoktur.
• Tablodaki kayıt sayısı çok azsa index
kullanılmaz.

İndex Çeşitleri

Composite İndex
– Birden fazla sütunda tanımlanan 
• Unique İndex
– değerlerin tekrarını engeller
• Clustered İndex
– bir tablo üzerinde sadece bir tane
– primary key tamınlanan sütun clustered indextir.
– en hızlı index tipi
– Nonclustered indexler clustered indexler üzerinde tanımlanır.
• Nonclustered İndex
– birden fazl olabilir
– clustered indexle birlikte çalıştığı için ona göre performansı biraz 
düşüktür.

İndex Mantığı

Clustered index örneği
– Kütüphanedeki kitapların isme göre sıralanışı.
• Nonclustered index örneği
– Yazara göre kitap aranması

Kullanımı

CREATE [UNIQUE] INDEX index_ismi
ON tablo_ismi(sütun_ismi)


0 yorum:

Yorum Gönder

 
© 2014 İrfan Blog ' s | Mehmet İrfan ErdoğanTüm Hakları Saklıdır | r