云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

中间件_淄博网站建设优化_评分榜

小七 141 0

大家好,

在这个博客中,我将解释表缓冲实际上是如何在SAP应用服务器中工作的。

让我们开始吧。

每个人都知道什么是表缓冲,以及它如何通过缓冲频繁访问的数据来减少从数据库表访问数据所需的时间,但是您是否考虑过以下问题:

系统如何决定我需要从表中获取修改后的新数据,而不是从缓冲区获取(如果最近发生了任何缓冲区数据修改)?

系统如何同步不同的应用服务器缓冲区以及对相应缓冲数据执行的相关操作?

缓冲表数据何时失效?Insert、Delete、Modify/Update操作中where子句在处理缓冲数据方面有何意义?

如何查看缓冲表数据?

如果没有,请不要担心,im即时通讯云,本博客旨在回答上述问题和相关关注点。

首先让我们总结一下进一步进行表缓冲所需的基本要点:

缓冲区同步:

现在由于每个应用服务器(AS)都有单独的缓冲区,因此要跨AS同步缓冲区,系统使用称为DDLOG的中心表,它是所有AS的中心,并保存所有AS缓冲区的条目,这些条目与对相应AS缓冲表数据执行的操作类型有关。

例如:假设您激活了带有缓冲的Tab1表,每当您插入条目或删除/修改缓冲表数据时,都会激活该表,一个条目将被插入到DDLOG表中,表示一条记录或一组记录已被更改或从特定的AS插入到表中。您可以通过菜单路径AL12->监视器->同步->DDLOG记录从Tcode AL12查看此数据,如下面的快照所示。

经过一段时间(默认120秒),大数据学习,我们称之为同步时间,所有AS都会检查DDLOG表中的这些条目,并相应地修改它们的缓冲区以应对变化。

在上面的快照中突出显示了120秒的同步时间,我们还可以在左下角看到不同类型的缓冲区,我们将只集中在这个博客的"表缓冲区"。

在上面的快照中我们可以看到查看DDLOG表的导航路径,一旦您导航到上面的路径,您将得到一个屏幕来选择同步类,即单记录缓冲、通用区域缓冲等。。,选择single和generic,因为我对表缓冲很感兴趣,然后选择Continue.

下面是针对不同as的每次缓冲区更改保存的DDLOG记录的快照,您可以看到在表上执行的不同操作模式(突出显示),云服务器购买,如"DEL"->Delete、INS Insert等。

现在我们将执行Insert,在激活缓冲的情况下对表执行删除和读取操作,并观察DDLOG表、缓冲区内容、,以及用于保持不同AS缓冲区之间同步的标志。

插入:

我们首先创建名为ZBTEST的表,激活单个缓冲区并直接从SE11插入少量条目。

现在DDLOG表包含如下条目:

注意:我们还有SE38 RSTUNE60报告,可用于读取/显示DDLOG表记录,在执行报表时–>选择服务器为无–>然后选择执行

在上面的快照中选择TABL和TABLP,它们是表的单记录和全/通用缓冲,然后选择"读取DDLOG"选项,显示DDLOG记录如下:

在上面的快照中快照您可以看到在表中插入5个条目在DDLOG表中创建了5个条目,其中包含键,并与应用程序服务器(AS)名称相关。

现在为什么DDLOG表必须保留插入到表中的记录?,这些记录对表的缓冲有什么影响?

为了回答上述问题,我们必须理解,每当请求从表中读取不存在的键/条目时,该键组合将在相应as缓冲区的缓冲对象列表中标记为不存在,因此如果再次请求相同的键组合,系统将直接通过在缓冲区中看到这个不存在的标志来决定,而不是进入表中,然后搜索,然后通知表中不存在这个键/条目。

考虑下面的示例,我尝试从表ZBTEST中访问/读取EMP_ID=11的不存在记录,现在要查看缓冲区中为这个不存在的记录设置的标志在哪里,您可以在"AL12->监视器->缓冲区->表格缓冲区->单个对象显示"中导航到单个对象显示

一旦导航到以上选项,您将看到下面的屏幕:

您可以在上面的快照中观察到,对于字段Non-Ex.,企业软件平台,保留值"1",表示访问了一条不存在的记录。我不知道如何看到AL12表中标记为不存在的键,任何人都可以在这里对此进行评论。

现在我将在表ZBTEST中插入一条记录,键EMP\u,来自SE11

现在如果您在下面的快照中看到"单个对象显示",5118大数据,则最初保留的值表示不存在记录,现在被清除。

因此结论,是插入记录不会更新任何AS的缓冲区,只有DDLOG table会从当前AS(从中插入数据)得到更新,以便将不存在的键标记为存在于缓冲区("单对象显示")。缓冲区同步时间结束后,其他所有AS缓冲区将同步一个AS缓冲区的不存在标志。

2。读取: