I would like to share this algorithm with you because it’s very simple and can solve a big issue.
We want to optimize this statement:
Delete itab where f1 =v1 and … and fn = vn.
For every occurrence of (v1, …, vn) we have n comparisons so if we have loop and delete statements, the complexity is m * n (m is the size of table used in loop).
we can reduce number of comparison to log(n) if we do like this :
sort itab by f1 f2 .. fn.
read table itab with key f1 = v1 … fn = vn binary search transporting no field.
if sy-subrc eq 0.
delete itab index sy-tabix.
eg: this algorithm reduce 2 000 000 000 comparisons to 22 comparison.