天天看點

幾種ABAP内表通路性能比較

REPORT  Z_ABAP_JERRY.

PARAMETERS entries TYPE i DEFAULT 100.

DATA:

     itab_standard TYPE STANDARD TABLE OF i WITH KEY table_line,

     itab_sorted TYPE SORTED TABLE OF i WITH UNIQUE KEY table_line,

     itab_hashed TYPE HASHED TABLE OF i WITH UNIQUE KEY table_line.

     t1 TYPE i,

     t2 TYPE i.

*Fill tables

WRITE: / 'Fill tables'.

GET RUN TIME FIELD t1.

DO entries TIMES.

 APPEND sy-index TO itab_standard.

ENDDO.

GET RUN TIME FIELD t2.

t2 = t2 - t1.

WRITE: / 'Runtime consumed by standard table is', t2.

"sort itab_standard.

"DELETE ADJACENT DUPLICATES FROM ...

 INSERT sy-index INTO TABLE itab_sorted.

WRITE: / 'Runtime consumed by sorted table is', t2.

 insert sy-index into table itab_hashed.

WRITE: / 'Runtime consumed by hashed table is', t2.

*Read with key

WRITE: /.

WRITE: / 'Read tables with key'.

 READ TABLE itab_standard WITH TABLE KEY table_line = sy-index TRANSPORTING NO FIELDS.

 "sy-subrc

 READ TABLE itab_sorted WITH TABLE KEY table_line = sy-index TRANSPORTING NO FIELDS.

 READ TABLE itab_hashed WITH TABLE KEY table_line = sy-index TRANSPORTING NO FIELDS.

*Read with index

WRITE: / 'Read tables with index'.

 READ TABLE itab_standard INDEX sy-index TRANSPORTING NO FIELDS.

 READ TABLE itab_sorted INDEX sy-index TRANSPORTING NO FIELDS.

繼續閱讀