我是Documentum的新手,有一个简单的问题,我正在尝试根据上次修改时间检索所有记录。
基本上,我有一个包含1000条记录的datatable。
当前我们使用的是
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 (Oracle10)“提示,但我怀疑它是否适用于RETURN_TOP 11g,以及documentum如何定义前1000名?
更新:通过toad使用数据链路似乎比使用DQL更快,但由于遗留问题,我需要一个DQL解决方案。
Documentum 6.0和Oracle 11g。
发布于 2013-01-22 23:26:39
您使用的是什么版本的Documentum?
确保r_object_id上有索引。您可能还想向r_modify_date添加一个索引。
此外,在添加字段a、b、c、d时,请确保这些字段是“非重复的”。这样,Documentum将不需要联接_r表,从而使整个查询速度更快。
此外,在DA中,如果执行查询,实际上可以看到传递给Oracle的SQL查询。获取此查询并在Toad中运行它,然后查找优化。您还可以注册DQL表,以便可以直接查询_s表。
发布于 2013-01-29 20:59:54
我设法通过查询oracle数据库中的底层表来解决这个问题。
运行缓慢的原因是因为表的begin joint后面才能获得结果。
将来,如果您已经用尽了优化DQL的所有方法,只需返回到查询oracle数据库即可。
我建议所有的表视图和搜索都可以通过oracle进行查询。
只有个别报告是通过documentum检索的,有时我会质疑使用documentum的目的。
https://stackoverflow.com/questions/14450808
复制相似问题