请提供您的完整查询/声明,以便获得更多信息。
我具有以下查询结构
CREATE TABLE <Table Name> AS
(
SELECT .... FROM ...
)
当我自己运行SELECT语句时,它将在几秒钟内编译并返回结果。但是,当我使用CREATE Table语句运行该语句时,它要花几个小时才能达到我认为它已挂起并且永远不会编译的程度。
这是什么原因?以及如何解决?
[如果您在某个GUI中运行了SELECT
,请注意,其中大多数(如果不是全部)仅返回几百行,而不是整个结果集。例如:如果您的查询确实返回了2000万行,则GUI显示前50行(或500,取决于您使用的工具),这有点令人困惑-就像让您感到困惑一样。
例如,如果您将当前查询用作内联视图,则>
select count(*) from (select ... from ...) --> this is your current query
它将“强制” Oracle提取所有行,因此您会看到它实际需要多长时间。
除此之外,例如是否可以优化
SELECT
WHERE
子句中使用的列是否已索引FROM
子句中使用)ORDER BY
子句(如果有的话;它与CTAS操作无关)性能调优远远超出了我的建议;这些只是您可能要看的一些建议。
请提供您的完整查询/声明,以便获得更多信息。
它可能包含不寻常的东西。例如。您有任何集合或嵌套表吗?
请提供您的完整查询/声明,以便获得更多信息。