Nis 11, 2014 - Tablolar (Tables)    Yorum Yok

Tablolarda İndex Oluşturma

Tablolara index tanımlamaya geçmeden önce indeks(index) tanım olarak nedir ve ne işe yarar kısmına bakalım.

İndex bir veri kümeleri üzerinde arama, sıralama veya gruplama yaparken bize yardımcı olmak üzere oluşturulmuş ön bilgidir. İndexler için en çok kullanılan örnek telefon rehberleri için verilir. Örnek olarak rehberden bir ismi aradığınızda ilk olarak o ismin ilk harfine giderek kişiye ulaşmaya çalışırsınız buda indexlemeye en güzel örnektir. Yani indexler veriye en kolay ulaşmamızı sağlayan yöntemdir.

Axapta tablolarında indexleme alanlar üzerinden yapılmaktadır. Yani tablo üzerinde sizin aramanızı veya sıralamanız en kolaylaştıracak alan veya alanlar birleşimi sizin indexsinizi belirler. Ancak indexler her zaman olumlu sonuç vermeyebilir. Çünkü arama sıralama gibi işlemlerde performans vereceği gibi veri ekleme silme veya güncelleme gibi işlemlerde de yavaşlık sağlayacaktır. Bu yüzden indexleme yaparken en gerekli ve doğru alanları kullanmak önemlidir.

İndex türlerine gelince iki çeşit index türü vardır. Birincisi tekil(unique) index diğer bir çeşit index türü ise tekil olmayan (non-unique) index türüdür. Tekil indexler seçildikleri alanda aynı kayıdın sadece bir kere girilmesi izin verir. Tekil olmayan indexlerde aynı kayıt tekrarlanabilir. Aramalarda performans açısından kullanılırlar.

Dynamics Ax tablolarında İndex oluşturma işlemi :

-          AOT yapısı açılır (CTRL + D)

-          Data Dictionary altından istenilen tablo düğümü seçilir(Kendi oluşturduğunuz bir tablo veya var olan bir tablo olabilir)

-          İndex kısmına gelinir ve sağ tuş New Index seçeneği seçilir.

-          İndex için bir isim verilir(Genelde standartta isimlendirme kullanılan alan adı sonuna Idx konulur.Örn:Cust Table tablosu için AccountIdx)

-          İstenilen alan veya alanlar (Birden fazla alan bir indexin içine konulabilir) Tablonun field kısmından sürüklenerek bırakılır ve kaydedilir.

-          Eğer indexiniz tekil index(Unique index) olacaksa yani aynı veri o alanda tekrarlanmayacaksa Özellikler (Properties) kısmından AllowDuplicates özelliği “No” yapılır ve kaydedilir. Böylece index oluşturma işlemi tamamlanmış olur.

Önemli Bilgiler :

Daha öncede belirttiğim gibi bir index içine birden fazla alanı barındırabilir ve aynı zamanda bu index tekil index seçilebilir. Bu gibi durumlarda tekrarlama özelliği seçilen alanların grup olarak tablo içerisinde tekrar edilip edilmediği kontrol edilmiş olur.

Tablonuzun yapısı itibariyle hiç tekil indexiniz yoksa Tablo özeliklerinden CreateRecIdIndex özelliği “Yes” yapınız.

Belirlediğiniz tekil indexlerden bir tanesini de mutlaka yine tablo özelliklerinden PrimaryIndex olarak belirleyiniz.

**Eğer içerisinde veri olan bir tabloya index yapıyorsanız tekil index belirleyeceğiniz alanın tablo içerisinde tekrar etmiyor olmasına dikkat ediniz. Eğer tekrar ediyorsa İndexinizi kaydederken tablo hata verecektir.

Her tablo için mutlaka bir tekil(unique) index tanımlanmalıdır.

Mümkün olduğunca indexlerde alanlar sayısal tiplerden seçilmedilir.String bir alan indexlenecekse alanın uzunluğu göz önünde bulundurulmalıdır.

Bir tablo için en fazla 5 adet index tanımlamalıdır. Eğer 5den fazla index tanımlanıyorsa bu indexlerin ihtiyacı sorgulanmalıdır.

İndexler aramaları ve veriler arasında gezinmeyi kolaylaştırdığı gibi insert(veri ekleme), delete(silme), update(güncelleme) gibi işlemlerde yavaşlık sağlar. Bu yüzden doğru indexlenmeyen tablolar performans kaybına yol açacaktır.

İndexler sayısına, tipine ve uzunluğuna göre diskte yer kaplar.

Yeni bir Non Unique index tanımlamak yerine var olan indexlerde uygun alanları eklemek bazen daha performanslı olabilmektedir.

Erkan OĞUZ

Önceki Konu->

<- Sonraki Konu

Benzer yazılar

Yorum Yazın...