ABAP - Keyword Documentation →  ABAP - Reference →  Processing External Data →  ABAP Database Accesses →  Open SQL →  Open SQL - Overview → 

Open SQL - Table Buffering

Table buffering buffers data from database tables or database views defined in ABAP Dictionary in a table buffer in the shared memory of the current application server. The definition determines whether and how a database table or database view is buffered. Using buffering generally produces much improved performance (by factors of between 50 and 500), since the data does not need to be transported between the application server and the database server each time and because processes do not need to be switched.

Table buffering is applied by the database interface when buffered tables or views are accessed using Open SQL statements. If a program uses Open SQL to read data in a buffered table or view, the table or view is accessed using the table buffer (with some exceptions). To do this, the database interface determines whether this data is in the table buffer of the current applications server. If this is the case, the data is read directly from the buffer. If the data is not in the buffer of the application server, the data is read from the database and loaded into the buffer. This means the data can accessed from the buffer next time. Writes cause the buffer to be synchronized asynchronously.

The buffering type defines which records are loaded to the buffer when accessed. There are also, however, variants of Open SQL statements that cannot be executed using the table buffer and which therefore bypass table buffering. Native SQL access or AMDP methods are applied to the database directly and therefore always bypass table buffering.


Table Buffering - Buffering Types
Table Buffering - Buffer Synchronization
Table Buffering - Buffer Management
Table Buffering - Restrictions