‎2007 Apr 25 3:57 AM
hai, experts
by creating table y ru used buffer maintains alloed/restriction, buffer allowed , buffer not allowed plz send the answer?
‎2007 Apr 25 5:20 AM
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
‎2007 Apr 25 5:22 AM
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
‎2007 Apr 25 6:27 AM
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