我需要帮助调整以下涉及从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'));
任何帮助都将受到高度赞赏。非常感谢。
答案 0 :(得分:4)
查询数据字典时出现问题是不寻常的,但并非未知。我发现它是一个问题的一种情况是数据库看到很多架构重建 - 例如共享开发或持续集成目标。在这种情况下,数据字典对象的统计信息可能非常不准确。如果听起来它可能适合您的情况,您可以要求友好的DBA(或任何其他具有必要权限的人)运行GATHER_DICTIONARY_STATS()
。 Find out more
顺便说一下,我真的不确定您认为STAR_TRANSFORMATION
可能对您有什么帮助:该提示旨在将联接转换为子查询以模仿a star schema in a data-warehouse style。你没有加入,所以这只是一种神奇的想法。