Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

buffer

Former Member
0 Likes
522

hai, experts

by creating table y ru used buffer maintains alloed/restriction, buffer allowed , buffer not allowed plz send the answer?

3 REPLIES 3
Read only

Former Member
0 Likes
491

HI SHEIK,

IF WE DOES NOT GIVE BUFFER OPTIONS, WHEN WE ARE GOING TO ACCESS DATA FROM THE TABLE THEN DIRECTLY WE HAVE TO HIT ON THE DATABASE,

If we enable buffer maintenance option allowed it will be buffered in Application server, If we want to access same table mmultiple times then for us no need to go to database, we can fetch data from AS with which performance will be increased alot

Read only

Former Member
0 Likes
491

Hi Sheik,

Go through this info.

Buffering

You must define whether and how a table is buffered in the

technical settings for the table. There are three possibilities

here:

1> Buffering not permitted: Table buffering is not permitted,

for

example because application programs always need the

most

recent data from the table or the table is changed too

frequently.

2> Buffering permitted but not activated: Buffering is

permitted from the business and technical points of view.

Applications which access the table execute correctly with

and without table buffering.

Whether or not table buffering will result in a gain in

performance depends on the table size and access profile

of the table (frequency of the different types of table

access).

Table buffering is deactivated because it is not possible to

know what these values will be in the customer system. If

table buffering would be advantageous for the table size and

access profile of the table, you can activate it in the customer

system at any time.

3> Buffering activated: The table should be buffered. In this

case you must specify a buffering type.

Buffering types:

1> Single-Record buffering

With single-record buffering, only the records that are actually

read are loaded into the buffer. Single-record buffering therefore

requires less storage space in the buffer than generic and full

buffering. The administrative costs in the buffer, however, are

greater than for generic or full buffering. Considerably more

database accesses are necessary to load the records than for

the other buffering types.

When Should you Use Single-Record Buffering?

Single-record buffering should be used particularly for

large tables where only a few records are accessed with

SELECT SINGLE. The size of the records being accessed

should be between 100 and 200 KB.

Full buffering is usually more suitable for smaller tables

that are accessed frequently. This is because only one

database access is necessary to load such a table with full

buffering, whereas several database accesses are

necessary for single-record buffering.

2> Generic buffering

With generic buffering, all the records in the buffer whose

generic key fields match this record are loaded when one

record of the table is accessed. The generic key is a part of

the primary key of the table that is left-justified.

3> Full buffering

With full buffering, either the entire table is in the

buffer or the table is not in the buffer at all. All the

records of the table are loaded into the buffer when

one record of the table is read.

When Should you Use Full Buffering?

When deciding whether a table should be fully buffered, you

should take into account the size of the table, the number of

read accesses,

and the number of write accesses. Tables best suited to full

buffering are small, read frequently, and rarely written.

Full buffering is recommended in the following cases:

Tables up to 30 KB in size. If a table is accessed frequently, but

allaccesses are read accesses, this value can be exceeded.

However, youshould always pay attention to the buffer

utilization.

Larger tables where large numbers of records are frequently

Provide some points if it is helpful.

Rgds,

P.Naganjana Reddy

Read only

former_member196299
Active Contributor
0 Likes
491

Hi Sheik,

Here are some info about buffering of table and esp about generic biffering .

With generic buffering, all the records in the buffer whose generic key fields match this record are loaded when one record of the table is accessed. The generic key is a part of the primary key of the table that is left-justified.

When Should you Use Full Buffering?

A table should be buffered generically if only certain generic areas of the table are normally needed for processing.

Client-specific, fully-buffered tables are automatically generically buffered since normally it is not possible to work in all clients at the same time on an application server. The client field is the generic key.

Language-specific tables are another example where generic buffering is recommended. In general, only records of one language will be needed on an application server. In this case, the generic key includes all the key fields up to and including the language field.

How Should you Define the Generic Key?

In generic buffering, it is crucial to define a suitable generic key.

If the generic key is too small, the buffer will contain a few very large areas. During access, too much data might be loaded in the buffer.

If the generic key is too large, the buffer might contain too many small generic areas. These can reduce buffer performance since there is an administrative entry for every buffered generic area. It is also possible that too many accesses will bypass the buffer and go directly to the database, since they do not fully define the generic key of the table. If there are only a few records in each generic area, it is usually better to fully buffer the table.

Only 64 bytes of the generic key are used. You can specify a longer generic key, but the part of the key exceeding 64 bytes is not used to create the generic areas.

Access to Buffered Data

It only makes sense to generically buffer a table if the table is accessed with fully-specified generic key fields. If a field of the generic key is not assigned a value in a SELECT statement, it is read directly from the database, bypassing the buffer.

If you access a generic area that is not in the buffer with a fully-specified generic key, you will access the database to load the area. If the table does not contain any records in the specified area ("No record found"), this area in the buffer is marked as non-existent. It is not necessary to access the database if this area is needed again.

Reward if helpful !

Thanks

Ranjita