Actually the primary available keys are those common in BSEG and the actual database table RFBLG, so only [implicit MANDT], BUKRS, BELNR, GJAHR.
BUZEI as well as every other fields are only selected after actual read of database and decompression of raw data. also Joseph is right, every fields of BSEG are read in database, nevertheless better give a list of field in the SELECT to reduce size of data after each implicit or explicit package is extracted.
As much as possible try to use "secondary indexes", for G/L those are BSIS and BSAS (depending on clearing status) You can also join BKPF with those tables. Only read BSEG as the last table, minimizing the size of the internal table referenced in the FOR ALL ENTRIES.
NB: You can also add an append structure to secondary indexes (with exact same fields in BS[I,A][S,K,D,M] table) as those are filled with MOVE-CORRESPONDING statements. (and build a small report to update added fields in legacy documents to be executed once out of peakside/workind days).
Regards,
Raymond