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: 

Which buffering option will suit the best?

Former Member
0 Kudos

Hello

Table has a size of 200K records. Records are updated daily.

Table is used for look-up search.

Which buffering approach would you recommend?

Does single record buffering have any benefit?

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Table has a size of 200K records. Records are updated daily.

Please keep in mind that each application server has its own table buffer. Whenever updates to a buffered table occurs, those updates appear delayed on other application servers. How often table buffers are synchronized is defined via profile parameter <em>rdisp/bufreftime</em>, default is every 120s. Might be irrelevant in your case, but it's good to keep it in mind.

Table is used for look-up search. Which buffering approach would you recommend?

Well, as you can see from the previous postings, there can be some general recommendations, but based on the facts you've posted it's impossible to tell if there even should be any buffering. I.e. if you do the look-up within a program that runs once then you shouldn't buffer the table via data dictionary settings, but simply buffer it within your program.

It is unclear how many of the 200k records are really used for look-ups and also what percentage of the data is updated. Also, row size matters.

In the end probably you'll be the only one able to judge the impact of the buffering. OSS note [1011158 - Table buffering on a SAP instance|https://service.sap.com/sap/support/notes/1011158] is also a good starting point. As always, there's also plenty of other documentation in the SAPhelp for table buffering.

6 REPLIES 6

Former Member
0 Kudos

hi,

single record buffering should be used when the table is very large and only few records are assessed with select single , if you are using select for all entries then i will suggest not to go for single buffering but to go for full buffering option.Full buffering is more suitable for smaller tables that are accessed frequently because only one data base access is needed to load the table with full buffering but in case of single buffering several database access are necessary and several hits are required to the databse to get the record.

tables which are small in size, read frequently and rarely written should be full buffered.so table upto 30kb size and accessed frequently with read access should be fully buffered

hope this helps,

thanks

tanmaya

Edited by: Tanmaya Gupta on Apr 12, 2010 10:46 AM

Former Member
0 Kudos

for this points a bit to generic buffering.

Former Member
0 Kudos

hi,

since your table have 200k records whats tthe size of your table,if the size of your table is around 200kb and you are using select single then go for single record buffering,otherwise go for generic buffering if you want to select a particular block of records,and if the tabel is small around 30kb of size then go for full buffering if read access is high.

keep in mind sometimes buffering is not suitable and it may increase the databse access time instead of decreasing it.

hope this helps you,

thanks,

tanmaya

SuhaSaha
Advisor
Advisor
0 Kudos

I second Florian's suggestion. Please read this documentation by SAP for further know-how: [http://help.sap.com/SAPhelp_nw04/helpdata/en/be/7d11e1a87fb5479342ce9d3af12e40/content.htm|http://help.sap.com/SAPhelp_nw04/helpdata/en/be/7d11e1a87fb5479342ce9d3af12e40/content.htm]

Cheers,

Suhas

Former Member
0 Kudos

Table has a size of 200K records. Records are updated daily.

Please keep in mind that each application server has its own table buffer. Whenever updates to a buffered table occurs, those updates appear delayed on other application servers. How often table buffers are synchronized is defined via profile parameter <em>rdisp/bufreftime</em>, default is every 120s. Might be irrelevant in your case, but it's good to keep it in mind.

Table is used for look-up search. Which buffering approach would you recommend?

Well, as you can see from the previous postings, there can be some general recommendations, but based on the facts you've posted it's impossible to tell if there even should be any buffering. I.e. if you do the look-up within a program that runs once then you shouldn't buffer the table via data dictionary settings, but simply buffer it within your program.

It is unclear how many of the 200k records are really used for look-ups and also what percentage of the data is updated. Also, row size matters.

In the end probably you'll be the only one able to judge the impact of the buffering. OSS note [1011158 - Table buffering on a SAP instance|https://service.sap.com/sap/support/notes/1011158] is also a good starting point. As always, there's also plenty of other documentation in the SAPhelp for table buffering.

0 Kudos

Well said Harald. Cheers