分布式存储_代理服务器出现问题_高性能

2021-05-03 22:05

小结:

本文将为您提供如何在ABAP中维护表/索引/视图。使用事务SE14(数据库表实用工具)可以实现相同的功能。

简介:

BW中有标准事务(SE14)来维护表。但是如果你想用ABAP代码编写一个定制的程序/解决方案和维护表,没有提到如何使用这个功能。

目标受众:

本文的主要目标是BW顾问,他们对ABAP有基本的了解,能够实现复杂的业务客户需求。

业务场景:

我们有一个具体的解决方案在将数据加载到ODS过程中实现更好的性能。当数据被加载到ODS时,我们使用了一个二级索引,并在这个结束例程中直接更新数据。就本文而言,高返利页游,不必详细描述这种数据加载逻辑

如果ODS中存在二级索引,我们将面临查询性能问题。我们注意到,新手建站教程,如果没有二级索引,查询的性能是正常的(数据提取需要不到一分钟的时间)。当我们创建索引时,性能下降了(同样的查询,大约15分钟)。我们在DB02中发现,queryselect使用了新索引,这是导致性能问题的原因。如果删除了索引,一切正常。

解决方法:

在确定问题的原因后,商业大数据分析,我们决定编写一个程序,可以在进程链中使用,在数据加载前创建索引,然后删除索引,这样查询性能就不会受到影响。

我们正在internet上寻找解决方案,但没有成功。我决定调试SE14以了解SE14是如何工作的。经过几次尝试,我找到了合适的功能模块(FM),它提供数据库操作,可以在单独的自定义程序中使用。

FM:DD\u DB\u OPERATION

你可以用很少的变量编写一个简单的程序。例如"ZBW\u INDEX\u CREATE\u DROP":

代码示例:

您必须在函数模块中至少填写以下变量:

FCT–操作类型CRE=CREATE,DEL=delete(CRE','DEL','CNV',数据技术与大数据技术,'ICN','MDF')

ID\u NAME–视图的ID od INDEX ID

OBJ\u type–INDX=INDEX,TABL=table('TABL','SQLT',"INDX",360大数据,'VIEW')

PRID–使用默认值0

我们将创建两个变量,其中包含用于创建和删除索引的变量,这些变量将在流程链中使用

现在我们可以在步骤ABAP程序中使用流程链中的变量

一个变量用于创建索引

一个变量用于删除索引

在流程链中的用法:

结果:

如您所能请参阅带有功能模块DD\u DB\u的操作表,可以用ABAP编码进行维护。而不是在流程链中使用此逻辑来自动化流程。FM可以根据您的需要在许多业务场景中使用。

分享到:
收藏
相关阅读