1

我是 Documentum 的新手,遇到一个简单的问题,我正在尝试根据上次修改的内容检索所有记录。

基本上我有一个包含 1000 条记录的数据表。

目前我们使用

Select * from docfolder enabled (FETCH_ALL_RESULTS 1000)

上述语句的问题有时是新创建的报告或修改后的报告将超出 1000 范围,我们的用户会抱怨找不到报告 * 有效的抱怨 *

实际上最后修改的记录甚至不需要是列表中的第一个,它只需要出现即可。

我尝试使用

Select * from docfolder order by r_modify_date enabled (FETCH_ALL_RESULTS 1000)

但这需要太长时间(永远不会完成)。我尝试用 a、b、c、d(字段)替换 *,但它也不起作用。

我可以知道我的问题是否有其他解决方案?

我正在考虑 documentum "ENABLE (RETURN_TOP 10)" 提示,但我怀疑它是否适用于 Oracle 11g 以及 documentum 如何定义前 1000 名?

更新:似乎通过 toad 使用数据链接比使用 DQL 更快,但由于遗留问题,我需要一个 DQL 解决方案。

Documentum 6.0 和 Oracle 11g。

4

2 回答 2

2

您使用的是哪个版本的 Documentum?

确保 r_object_id 上有索引。您可能还想为 r_modify_date 添加索引。

此外,在添加字段 a、b、c、d 时 - 确保这些字段是“不重复的”。这样,Documentum 将不需要加入 _r 表,从而使整体查询更快。

此外,在 DA 中,如果您执行查询,您实际上可以看到传递给 Oracle 的 SQL 查询。获取此查询并在 Toad 中运行它并寻找优化。您也可以注册 _s 表,以便您可以直接 DQL 查询 _s 表。

于 2013-01-22T15:26:39.303 回答
0

我设法通过查询oracle数据库中的底层表来解决这个问题。

性能慢的原因是因为table begin join落后于获取结果。

将来,如果您已经用尽所有方法来优化您的 DQL,只需退回到查询 oracle 数据库。

我已推荐所有表视图和搜索通过 oracle 进行查询。

只有个别报告是通过documentum检索的,有时我质疑拥有documentum的目的。

于 2013-01-29T12:59:53.707 回答