2009-11-28 785 views
0

目前我们正在将我们的应用程序与SAP连接起来。我们在bapi/rfc方法中遇到很多性能问题。所以最近我们尝试使用“直接sql”方法从SAP中检索一些数据。不幸的是,我们发现某些SAP表格没有为我们的场景配备适当的索引。如何在SAP中创建索引?

我们尝试用SAPGUI创建索引,但发现真正的“数据库索引”实际上并未创建。使用直接DDL创建的索引稍后会导致SAP传输机制出现问题。

什么是在SAP数据库中创建索引的正确方法?

(我们在Oracle数据库上使用SAP R3)

+0

是不是可以在oracle中创建一个索引?在一天结束时,数据只是表......而ABAP程序只是使用表......而索引不会改变表结构(数据库索引是提高数据库表上数据检索操作速度的数据结构)。 。? – miku 2009-11-28 10:39:51

+0

是的。这是可能的。我们已经这样做了,而且实际上是工作。但SAP具有一项特殊功能,可以将配置从机器“运输”到另一个配置,如从测试系统到生产系统。我们的咨询告诉我们,我们的指数可以在运输过程中消失。 – Sake 2009-11-28 13:11:43

+1

您可以详细说明您尝试通过切换到“直接sql”来解决什么问题?这是一种“最后的努力”,我相信还有其他的事情可以尝试提高你的RFC/BAPI调用的性能。 (使用另一个问题!) – Thorsten 2009-11-29 21:43:28

回答

2

正确的方法来创建索引使用SE11交易。它应该在开发系统中完成。并运输到QA和生产系统。

更新评论:
1.确保在更改后激活了表格。转到菜单项实用程序=>版本或类似的东西,以确保您的更改已激活。
2.您可以使用事务SE14强制更改(但我认为这仅用于故障排除)。
3.还有其他故障排除步骤,我不记得。您可以搜索笔记int sdn.sap.com或services.sap.com/notes。

+0

是的。但是从我们的检查来看,真正的物理数据库索引实际上并没有用SE11创建。我们不会从直接sql查询的索引中获益。 – Sake 2009-11-29 00:34:35

+0

“SAP模式”与数据库级别的实际情况之间存在某种松散的联系。在抽象层中发生了很多事情,它们“消除”了SAP R/3支持的不同RDBMS之间的差异。如果我能够正确记得,索引就是其中之一。所以不需要有数据库索引,因为你在se11中定义了一个索引(即使可能通常是这样)。 – Thorsten 2009-11-29 21:46:22

+0

我完全肯定SE14应该强制索引到数据库。 (在SE11中创建它之后) – Esti 2009-11-30 09:00:18