Show TOC

Special Aspects of TuningLocate this document in the navigation structure

 Special Aspects of Tuning

Definition

Only transparent tables and pooled tables can be buffered. You should buffer tables that

  • Only have read-only accesses
  • Have not been modified.

Other tables should only be buffered if the write accesses occur very infrequently and the tables do not contain customer data. In the case of tables that are modified frequently, the additional processing required could cancel out any performance gains achieved by buffering.

Buffering types

Full (residential) buffering

Either the whole table or none of the table is stored in the buffer. This type of buffering is recommended (as a rule of thumb) for the following tables:

  • Tables up to 30KB in size, and accessed frequently, but all accesses are read accesses.
  • Larger tables where large numbers of records are frequently accessed. However, if the application program is able to formulate an extremely selective WHERE condition for these multiple accesses using a database index, it may be advisable to dispense with buffering. In this case, pooled tables should be converted to transparent tables.
  • Tables where frequent attempts are made to access data not contained in the table, resulting in a "No record found" message. With full buffering all records of a table are contained in the buffer, which means a faster response to indicate whether or not the table contains a record for a specific key can be displayed.
  • Tables which are small and are subjected to large number of read accesses, but are rarely written to.

Generic buffering

When you access a record from the table, other records whose generic key fields correspond to this record are also loaded into the buffer. This type of buffering is recommended (as a rule of thumb) for the following tables:

  • Client-dependent, fully buffered tables are automatically buffered generically (even if full buffering was selected in the table's settings). The client field is the generic key.
  • Language-dependent tables.

Single-record buffering (partial buffering)

Only records in a table, which is being accessed, are loaded into the buffer. This type of buffering is recommended (as a rule of thumb) for the following tables:

  • Large tables where few records are accessed. The amount of records accessed should be between 100KB and 200KB.

The partial buffer also contains negative information. That is, if a record is accessed which does not exist in the database table, an empty record is stored in the buffer and a flagbyte is set to indicate the record does not exist.

See also:

 

SAP Buffers

Tuning SAP Buffers