我是 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。
最佳答案
您使用的是哪个版本的 Documentum?
确保 r_object_id 上有索引。您可能还想向 r_modify_date 添加索引。
此外,在添加字段 a、b、c、d 时 - 确保这些字段“不重复”。这样,Documentum 将不需要加入 _r 表,从而使整体查询更快。
此外,在DA中,如果执行查询,您实际上可以看到传递给Oracle的SQL查询。获取此查询并在 Toad 中运行它并寻找优化。您还可以注册_s表,以便您可以直接DQL查询_s表。
关于java - Documentum:ORDER_BY r_modify_date 花费的时间太长,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450808/