Sap Internal Tables
Sap'de doğru tablo kategorisi seçmek ve performansı arttırmak için yapılması gerekenler
Klaus Haeuptle
12/7/20242 min oku


ABAP dünyasında, internal tablolar veri işleme için güçlü bir araçtır. Doğru tablo kategorisini seçmek, performansı artırmak ve kodun etkinliğini maksimize etmek için kritik bir rol oynar. Bu yazıda, Standard Tablolar, Sıralı Tablolar (Sorted Tables) ve Hashlenmiş Tablolar (Hashed Tables) hakkında bilgi vereceğim.1. Standard Tablolar
1)Standard Tables
İndeksleme yoluyla verilere hızlı erişim sağlamak için tasarlanmıştır. Bu tür tablolar, genellikle küçük verisetlerinde veya giriş sırasına göre erişimin yeterli olduğu durumlarda kullanılır.
Özellikler:
İndeks tabanlı erişim sabit bir süre alır.
Veri boyutu arttıkça indekslerin oluşturulması ve yönetimi maliyetlidir.
Sıralı erişim gerektiğinde SORT ve BINARY SEARCH gibi yöntemlerle optimize edilebilir.
Örnek Kod:
DATA employees TYPE STANDARD TABLE OF employee.
READ TABLE employees REFERENCE INTO employee INDEX 4.
2.Sorted Tables
Sıralı tablolar, başlangıçtan itibaren sıralı olarak oluşturulan büyük veri setleri için uygundur. Veriler, tanımlanan anahtar sırasına göre sıralı olarak tutulur.
Avantajları:
İkili arama (Binary Search) ile okuma işlemleri daha hızlıdır.
Anahtar erişim maliyeti, tablo büyüklüğü arttıkça logaritmik olarak artar.
Örnek Kod:
DATA employees TYPE SORTED TABLE OF employee WITH UNIQUE KEY id.
READ TABLE employees REFERENCE INTO employee WITH KEY id = 'E101' BINARY SEARCH.
3.Hashed Tables
Hashed Tables, büyük veri setleri ve sadece anahtar ile erişim gereken durumlar için uygundur. Bu tür tablolar, genellikle sabit veri ve sık okuma işlemleri için kullanılır.
Özellikler:
Veri yalnızca anahtar yoluyla erişilebilir.
Girişlerin hash haritası oluşturulduğu için sabit zamanlı erişim sağlar.
Sık veri güncelleme işlemleri, hash hesaplamalarını pahalı hale getirir.
Örnek Kod:
DATA employees TYPE HASHED TABLE OF employee WITH UNIQUE KEY id.
READ TABLE employees REFERENCE INTO employee WITH TABLE KEY id = 'E107'.
Hangi Tabloyu Seçmeliyim?
Küçük Veri Setleri: Standard tablolar
Büyük, Sıralı Veri Setleri: Sıralı tablolar
Anahtar Bazlı Büyük Veri Setleri: Hashlenmiş tablolar
Her kategori, belirli bir kullanım senaryosu için optimize edilmiştir. Yanlış bir seçim performansı olumsuz etkileyebilir. Doğru tablo tipi, iş gereksinimlerinize göre seçilmelidir