Merhaba arkadaşlar, bu yazımda Veritabanı nesnelerinden olan indeks den bahsedeceğim. İndeksin ne olduğu, nerelerde kullanıldığı ve çeşitlerini anlatacağım.
İndeks nedir?
İndeks, veritabanında sorguların sonuçlarının daha hızlı bir şekilde gelmesi için kullanılan bir nesnedir. Sütunlardaki verilerin belirli bir düzene göre sıralanmasını sağlar. SQL Server da 2 çeşit indeksleme vardır. Bunlar:
- Clustered İndeks(Kümelenmiş):
Bu indeksleme çeşidi kitapların içindekiler bölümünü temsil eder. Yani hangi konunun hangi sayfada olduğunu bilir ve direk o sayfaya yönlenir. Veri içinde verinin nerede olduğunu bilir ve direk veriyi getirir. Çünkü verileri sıralı bir şekilde tutar. Örnek olarak bir tabloda 1000 adet kaydımızın olduğunu düşünelim ve bu kayıtlar içerisinden ismi ‘Furkan’ olanı getir desek ismi ‘Furkan’ olan kaydı bulana kadar bütün kayıtlara bakar ve sonucu döndürür. Ancak biz ismi ‘Furkan’ olan kişinin kaydının nerede kaçıncı sırada olduğunu yani ismi sıralı bir şekilde tutarak bilseydik direk kaydı getirebilirdik. Çünkü sıranın A-B-C vb. şekilde devam ettiğini biliyoruz. İşte bu örnekteki gibi indeksleme işlemini Clustered İndeks türü yapar.
- Nonclustered İndeks(Kümelenmemiş):
Yine bu indeks türünü anlatırken yukarıdaki örnekteki gibi yine kitaplar üzerinden anlatalım. Genellikle kitapların en arkasında bulunan önemli kelimelerin geçtiği sayfa numarası belirtilen bölümü temsil eder. Veri hangi sütundaysa yeri bellidir ve sadece o yerlerde arama yapılır.
İndeks Kullanımı
1 |
CREATE INDEX index_name ON table_name(column1, column1,…); |
İndeks İle İlgili Notlar
- İndex kullanımı hafızada önemli boyutu kapsar.
- Primary Key olan sütunlar için index kullanımına ihtiyaç yoktur.
- İndeks kullanmak insert,update,delete işlemlerini yavaşlatır.
Bu yazımı burada bitiriyorum. Diğer yazılarımda görüşmek üzere.
Great content! Super high-quality! Keep it up! 🙂