使用ALL_OBJECTS视图调整查询

时间:2014-08-15 18:15:23

标签: performance oracle query-optimization data-dictionary

我需要帮助调整以下涉及从Oracle数据字典ALL_OBJECTS查询的查询。

SELECT OBJECT_NAME ,OBJECT_TYPE 
FROM ALL_OBJECTS OBJ 
WHERE (OBJ.OWNER ='HR') 
AND (OBJ.OBJECT_TYPE IN ('TABLE','VIEW'));

我尝试使用提示调整查询,但没有太多帮助。

SELECT /*+ STAR_TRANSFORMATION */ OBJECT_NAME
       ,OBJECT_TYPE 
FROM ALL_OBJECTS OBJ 
WHERE (OBJ.OWNER ='HR') 
AND (OBJ.OBJECT_TYPE IN ('TABLE','VIEW'));

任何帮助都将受到高度赞赏。非常感谢。

1 个答案:

答案 0 :(得分:4)

查询数据字典时出现问题是不寻常的,但并非未知。我发现它是一个问题的一种情况是数据库看到很多架构重建 - 例如共享开发或持续集成目标。在这种情况下,数据字典对象的统计信息可能非常不准确。如果听起来它可能适合您的情况,您可以要求友好的DBA(或任何其他具有必要权限的人)运行GATHER_DICTIONARY_STATS()Find out more


顺便说一下,我真的不确定您认为STAR_TRANSFORMATION可能对您有什么帮助:该提示旨在将联接转换为子查询以模仿a star schema in a data-warehouse style。你没有加入,所以这只是一种神奇的想法。