浅谈SAP的内存策略

SAP的内存策略主要是:TABLE BUFFER 、SHARED OBJECTS 、SAP/ABAP MEMORY 。

一、TABLE BUFFER是针对数据库表;

      1.TABLE BUFFER 包含:table buffer(single-record buffer ,generic buffer ,full buffer)、Repository buffer 、Dictionary buffer、Number range 、Roll and paging buffers。

      2.数据库表的数据在table buffer 是以关键字排序存放的,所以不能根据第二索引或者其他索引访问table buffer中的数据;

      3.对于SAP来说,可以拥有多台应用服务器,所以TABLE BUFFER必须有个同步机制,参数是 rdisp/bufreftime,这个参数建议的值是1-2mins。那在这个期间会不会发生问题呢?

         当然不会,因为SAP还有一个表是DDLOG.DDLOG是存放修改的值,每次访问完TABLE BUFFER 后都会去检查DDLOG是否有更新的数,如果有则重新取;

      4.对于数据库表的single-record buffer等设置是很简单的,注意的一点是:不要使用不合适的语句跳过他们的buffer

二、SHARED OBJECTS是可以让不同的程序或者不同的用户进程使用到buffer中的值,这是针对程序来说的。在程序中可以使用export/import TO SHARED BUFFER语句实现,

      最典型的案例就是在程序中写的锁机制,会被放到shared buffer中

三、SAP MEMORY是特定于用户的内存区域,主要用来存放字段值,用SET/GET实现;不是在内部session中传递值的

四、ABAP MEMROY也是特定于用户的内存区域,是可以在一个外部session中的所有内部session中传递值。EXPORT ... TO MEMORY ID/IMPORT ...FROM MEMORY ID.可以用

     FREE MEMORY ID 清空。

     对于上面的策略来说,我们可以实现任何值得传递。SAP非常强大!!

posted on 2011-07-28 12:08  冷合礼  阅读(2184)  评论(2编辑  收藏  举报

导航