Application Development 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: 

Cluster tables

Former Member
0 Kudos

Hi Friends

What is the differences between cluster table and transaction table?

What is the use of cluster tables in SAP?

How to improve performance when we use cluster tables in our programming?

Example scenario: BSEG table is a cluster table. What is the reason to have BSEG as cluster table?

Thanks in advance

hari

6 REPLIES 6

ferry_lianto
Active Contributor
0 Kudos

Hi Hari,

Please check this link perhaps it may help.

http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm

Regards,

Ferry Lianto

Former Member
0 Kudos

Hi Hari,

Transparent Table : Exists with the same structure both in dictionary as well as in database exactly with the same data and fields.

Cluster Table : Cluster tables are logical tables that must be assigned to a table cluster when they are defined. Cluster tables can be used to strore control data. They can also be used to store temporary data or texts, such as documentation.

Check this link for differences between transparent, cluster and pooled tables.

http://www.sap-img.com/abap/the-different-types-of-sap-tables.htm

Regards,

Vivek

Former Member
0 Kudos

Hi,

Check

1.

2.

3. Use Indexes and include all the key fields in your select statement

Regards,

Santosh

Former Member
0 Kudos

HI

The following are the table types used in SAP :

I. Transparent tables (BKPF, VBAK, VBAP, KNA1, COEP)

Allows secondary indexes (SE11->Display Table->Indexes)

Can be buffered (SE11->Display Table->technical settings) Heavily updated tables should not be buffered.

II. Pool Tables (match codes, look up tables)

Should be accessed via primary key or

Should be buffered (SE11->Display Table->technical settings)

No secondary indexes

Select * is Ok because all columns retrieved anyway

III. Cluster Tables (BSEG,BSEC)

Should be accessed via primary key - very fast retrieval otherwise very slow

No secondary indexes

Select * is Ok because all columns retrieved anyway. Performing an operation on multiple rows is more efficient than single row operations. Therefore you still want to select into an internal table. If many rows are being selected into the internal table, you might still like to retrieve specific columns to cut down on the memory required.

Statistical SQL functions (SUM, AVG, MIN, MAX, etc) not supported

Can not be buffered

IV. Buffered Tables (includes both Transparent & Pool Tables)

While buffering database tables in program memory (SELECT into internal table) is generally a good idea for performance, it is not always necessary. Some tables are already buffered in memory. These are mostly configuration tables. If a table is already buffered, then a select statement against it is very fast. To determine if a table is buffered, choose the 'technical settings' soft button from the data dictionary display of a table (SE12). Pool tables should all be buffered.

HOpe this helps u,

Regds,

Seema.

former_member404244
Active Contributor
0 Kudos

Hi Hari,

go through the below link..

Regards,

nagaraj