クエリの中でgroup
を使用していくつかの列の合計を取得すると、時間がかかりすぎます。Group byは、OracleのSQL Queryで非常に時間がかかります
例: -
SELECT
A.ID PROJECT_ID,
REGION.LEVEL2_NAME REGION,
A.LOCATION LOCATION,
A.DEPT DEPT,
REPLACE(A.ROLE_NAME, ',', '') ROLE_NAME,
A.MONTH_START,
TO_CHAR(A.MONTH_START,'MON YYYY') MONTH_LABEL,
Sum(A.value1),Sum(A.value2)
FROM
(/here is my Select Query which gives flat data with some 2 UNION Queries/)A
INNER JOIN table REGION ON A.column1= REGION.column1
GROUP BY
A.ID,
A.ROLE_NAME,
A.LOCATION,
A.DEPT,
A.UNIT_OF_MEASURE,
REGION.LEVEL2_NAME,
A.MONTH_START
してくださいアドバイス。
サブクエリはいくつの行を取得しますか? – JohnHC
こんにちはJohn、カウントは少し巨大です(つまり、4000万) – user2131546
ランタイム統計情報を含む実行計画を生成できますか?あなたはこれを行うことができます。セッションを変更するtimed_statistics = all; <あなたのクエリを実行する>。テーブルから選択*(dbms_xplan.display_cursor(null、null、 'ALLSTATS LAST')); – BobC