我们白天运行多个流程链,将数据从 SAP R/3 系统加载到 SAP BW。这些流程链通常需要大约三十分钟才能运行。本周,这些流程链运行了一个多小时。
我们使用 /SSA/BWT 将本周的运行与上周的运行进行了比较,但各个加载和激活步骤的运行时间大致相同。
我们注意到的一件事是,当 SAPLRSSM 从 TESTDATRNRPART0 中删除数据时,该链似乎暂停(“暂停”)。
还没有设法在网上找到关于此内容的太多信息,但它似乎是在将数据从 PSA 表移动到 InfoObject 时使用的临时表。
谁能告诉我们有关该表的更多信息并指出为什么它所花的时间会比平时更长?
答案1
最后我们发现(在 SAP 的帮助下),从该表中删除数据所花的时间比平时更长(从而导致流程链需要更长时间才能完成)的原因是 Oracle 数据库内的基于成本的优化器 (CBO) 决定不使用该表的索引。
它没有使用索引的原因是,生成有关表的统计信息 (DBMS_STATS) 作业在表为空时运行。
解决方案是为该表硬编码统计信息,以便 CBO 始终选择使用索引的执行计划。更多详细信息请参阅SAP 说明 1020260。