Skip to Content
author's profile photo
Former Member

What is an invalidation in a buffered table under ST10


I use SAP 4.6c.

With ST10 you can see the table call statistics.

The first column shows the number of invalidations. Whenever a table is changed or a transport is done which affects the table, it is marked as invalid. If a change on a fully buffered table is done, the whole table is marked as invalid in the DDLOG file (number of invalidations increases to 1). If a generic buffered table is changed, only the affected regions are invalidated(number of invalidations increases in dependence of the number of affected regions). If a single record buffered table is changed, the corresponding entries are invalid ( the number of invalidations increases in dependence of the number of affected entries).

But some fully buffered tables have 40 invalidations for example although they only have 5 changes. The number of transferred rows is zero. I do not understand this. If a transport has been done, this would affect both, the number of invalidations and the number of affected rows as well. But obviuosly, this was not the case. If one change is done, only one invalidation is count. 5 Changes can not cause 40 invalidations.

Does anybody understand this?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • Posted on Sep 28, 2007 at 10:51 AM

    [I know this is an old question, but we just had an ST10 "episode" so it's on my mind]

    According to the book "SAP Performance Optimization Guide" (<i>Schneider</i>), an invalid table status means the table "has been invalidated. It cannot yet be reloaded into the buffer because the operation that changed the table has not yet been completed with a ''commit''". There is a good discussion in that book on invalidation rate, meaning that the relative number of invalidations is more important to performance than the actual value.

    As for the question of multiple invalidations from one operation, I'd have 2 guesses - one would be that you have several application servers, each of which could invalidate the other's cache, or that your transport has several steps, each of which invalidates the cache (or both happened).


    Add comment
    10|10000 characters needed characters exceeded