我有这个查询最初导致大量超时:
select d.r_object_id
from isc_fiche d, dmr_con c
where any c.parent_id = d.r_object_id
group by d.r_object_id
having count(*) > 2
然而,当我将enable (return_top 10)
添加到最后时,性能问题似乎已成为过去。显然(根据同事们的说法),该声明可能会提高性能。
有人可以为我澄清一下吗?
完整查询'方式'更好的表现:
select d.r_object_id
from isc_fiche d, dmr_con c
where any c.parent_id = d.r_object_id
group by d.r_object_id
having count(*) > 2
enable(return_top 10)
答案 0 :(得分:1)
enable (return_top 10)
修改执行的SQL语句,它向其添加一个限制子句,如ROWNUM <= 10
in Oracle。这取决于底层的RDBMS,所以如果你将EMC Documentum与Microsoft SQL Server一起使用,我想它不是ROWNUM <= 10
。
您可以在ECM Documentum的Web界面上运行DQL(如果我没记错的话,它叫做Webtop)。 DQL运行页面上有一个复选框,显示生成的SQL。您应该检查两个DQL查询之间的区别。