SQL veritabanı sisteminde bildiğiniz üzere tablolar bulunmaktadır. Bu tablolara isteğe göre indexler eklenebilmektedir peki ama SQL index nedir ? Öncelikle bu yazının devamındaki kavramları anlayabilmek için SQL veritabanı nedir ve SQL tablo oluşturma yazılarını okumanızı öneriyorum.
SQL Index Nedir ?
SQL üzerinden bir sorgu ile kayıtları listelerken ilk olarak server tablo üzerindeki primary key var mı diye bakar. Eğer sorgunuz primary key bazlı olarak gerçekleşiyorsa sorgunuz normalden çok daha hızlı olacaktır. Tüm sorgularımızı primary key üzerinden yapmayız. Günlük hayatta başka verileri baz alarak yapmış olduğumuz sorgular da vardır. Bunun gibi durumlar için kendini primary key gibi sisteme gösterebilecek ve sorgularda ona göre çekme işlemi yaptığınızda performansı iyileştirecek tanımlamalar index tanımlamalarıdır.
Kitabın başlangıcında index yani içerik tanımlamaları vardır. Bu içerik tanımlamalarına bakarak kitap içerisinde bulmak istediğimiz şeyi çok daha hızlı bulabilirsiniz. SQL index de aynı bu mantık ile çalışmaktadır.
SQL Index Oluşturma
Tıpkı tablo ya da view oluşturmak gibi index oluşturmanın birden fazla yolu vardır. İlk yol SQL Management arayüzünü kullanarak kod yazmadan kolayca yapmak için şu yolu deneyebilirsiniz:
Bunun yanı sıra kod yazarak da index oluşturabilirsiniz:
CREATE INDEX index_adi
ON tablo_adi (sutun1, sutun2, ...);
Index Tipleri Nelerdir ?
Temelde 2 tür index vardır. Bunlar clustered (kümelenmiş) ve non-clustered’dır (kümelenmemiş). Clustered index yapısına sahip bir tabloda satırlar sıralanmış olarak eklenmektedir. Non-clustered indexe sahip tablolarda ise veriler sıralanmış olarak devam etmek zorunda değiltir.
Çocukluğumdan beri arabalara olan ilgim babam sayesinde başlamıştır. Araba manyağı seviyesinde bir ilgim var ancak bunu her ortamda dile getirmem. Teknolojiye ve bilgisayara olan ilgim kendimi tanımaya başladım başlayalı oldu. Şimdi ise kendimce kod yazabilen bir bilgisayar mühendisi olarak çalışıyorum.