Skip to Main Content

Japanese

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

範囲選択で結合したときのパフォーマンス

996774Mar 13 2013 — edited Mar 18 2013
お世話になります。

2つのテーブルを結合したSQLを作成しています。
実行すると40分ぐらいかかっているものを改善したいので
お知恵を拝借させてください。

バージョンは11gです。

・マスタテーブル<tt>
KEY1_FROM
KEY1_TO
KEY2_FROM
KEY2_TO
FLG1
FLG2

(PRIMARY KEY KEY1_FROM,KEY1_TO,KEY2_FROM,KEY2_TO)
(INDEX NON UNIQUE INDEX I1 KEY1_FROM,KEY1_TO,KEY2_FROM,KEY2_TO)
798件</tt>

・トランザクションテーブル<tt>
XXXCODE
XXXDATE
XXXCHANNEL
XXXMONTH
XXXKINGAKU

(PRIMARY KEY XXXCODE, XXXDATE)
(NONUNIQUE INDEX XXXCODE,XXXDATE,XXXMONTH,XXXKINGAKU)
約14000000件</tt>

改善したいSQLは↓です
SELECT 
 W.XXXDATE
,W.XXXCHANNEL
,COUNT(W.XXXCODE) AS "件数"
FROM トランザクションテーブル W
LEFT JOIN マスタテーブル B
 ON W.XXXMONTH   BETWEEN B.KEY1_FROM AND B.KEY1_TO
AND W.XXXKINGAKU BETWEEN B.KEY2_FROM AND B.KEY2_TO
GROUP BY W.XXXDATE, W.XXXCHANNEL
実行計画はこれです
-------------------------------------------------------------------------------------------------------------
| Id  | Operation                | Name                     | Rows  | Bytes |TempSpc| Cost (%CPU)| Time     |
-------------------------------------------------------------------------------------------------------------
|   0 | SELECT STATEMENT         |                          |    34 |   952 |       |   622K (84)| 02:04:29 |
|   1 |  HASH GROUP BY           |                          |    34 |   952 |       |   622K (84)| 02:04:29 |
|   2 |   MERGE JOIN OUTER       |                          |  6489M|   169G|       |   154K (36)| 00:30:52 |
|   3 |    SORT JOIN             |                          |    13M|   225M|   854M|   101K  (1)| 00:20:14 |
|   4 |     TABLE ACCESS FULL    | トランザクションテーブル |    13M|   225M|       | 24005   (1)| 00:04:49 |
|   5 |    FILTER                |                          |       |       |       |            |          |
|   6 |     SORT JOIN            |                          |   798 |  8778 |       |     4  (25)| 00:00:01 |
|   7 |      INDEX FAST FULL SCAN| I1                       |   798 |  8778 |       |     3   (0)| 00:00:01 |
-------------------------------------------------------------------------------------------------------------
よろしくお願いいたします。

Edited by: 993771 on 2013/03/13 21:57
This post has been answered by asahide on Mar 14 2013
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Apr 15 2013
Added on Mar 13 2013
16 comments
9,797 views