Mustafa HAMIT

ABAP Internal Table Türleri Nelerdir? Standard, Sorted ve Hashed Table Farkları

Bu yazıda ABAP’ta mevcut olan internal tablolar arasındaki farklara değineceğiz. ABAP’ta temel olarak üç farklı internal table türü vardır:

  • STANDARD TABLE
  • SORTED TABLE
  • HASHED TABLE

STANDARD TABLE (Standart Internal Table)

STANDARD TABLE, en basit ve en yaygın kullanılan internal table türüdür.

Özellikleri

  • Veriler eklenme sırasına göre tutulur
  • Index tabanlı erişim vardır
  • Key ile arama lineer (yavaş) şekilde yapılır

Ne zaman kullanılır?

  • Küçük ve orta ölçekli veri setlerinde
  • Sıralama önemli değilse
  • Basit loop işlemlerinde

Örnek

DATA: lt_table TYPE STANDARD TABLE OF mara,
      ls_line  TYPE mara.

APPEND ls_line TO lt_table.

READ TABLE lt_table WITH KEY matnr = '123'.

SORTED TABLE (Sıralı Internal Table)

SORTED TABLE, verileri belirli bir key’e göre otomatik olarak sıralı tutar.

Özellikleri

  • Veriler her zaman sıralıdır
  • Binary search kullanır (hızlı arama)
  • UNIQUE veya NON-UNIQUE olabilir

Ne zaman kullanılır?

  • Sık arama yapılıyorsa
  • Verinin sıralı olması gerekiyorsa

Örnek

DATA: lt_table TYPE SORTED TABLE OF mara
      WITH UNIQUE KEY matnr.

READ TABLE lt_table WITH KEY matnr = '123'.

HASHED TABLE (Hash Internal Table)

HASHED TABLE, en hızlı erişim sağlayan internal table türüdür.

Özellikleri

  • Hash algoritması kullanır
  • Key ile erişim çok hızlıdır
  • Index erişimi yoktur
  • Duplicate key kabul etmez (her zaman UNIQUE)

Ne zaman kullanılır?

  • Büyük veri setlerinde
  • Sürekli key ile erişim yapılacaksa
  • Performans kritikse

Örnek

DATA: lt_table TYPE HASHED TABLE OF mara
      WITH UNIQUE KEY matnr.

READ TABLE lt_table WITH KEY matnr = '123'.

Performans Karşılaştırması

ÖzellikSTANDARDSORTEDHASHED
EklemeHızlıOrtaOrta
Key ile okumaYavaşHızlıÇok hızlı
SıralamaYokVarYok
Index erişimiVarVarYok
Duplicate keyVarOpsiyonelYok

Hangi Durumda Hangisi Kullanılmalı?

  • Basit işlemler için STANDARD TABLE
  • Sıralı veri ve hızlı arama için SORTED TABLE
  • En yüksek performans için HASHED TABLE

Sonuç

Internal table seçimi, ABAP uygulamalarında performansı doğrudan etkiler. Özellikle büyük veri setlerinde yanlış tablo tipi kullanımı ciddi performans problemlerine yol açabilir.

Genel bir kural olarak:

  • Çok sık key ile arama yapıyorsan STANDARD TABLE yerine SORTED veya HASHED TABLE tercih etmelisin
  • Performans kritik senaryolarda HASHED TABLE genellikle en iyi seçenektir

Abap’ta Clear, Refresh ve Free farkını öğrenmek için bu yazıyı okuyabilirsiniz.

Link : http://www.mustafahamit.com/abap-clear-refresh-ve-free-nedir-farklari-nelerdir/

Loading

Bir yanıt yazın