by 커피요쿠르트d [SQL Query] 실행계획 merge 시간 [2013.09.05 16:00:39]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | MERGE INTO TBL A USING ( SELECT KEY , ENG_NAME2, ENG_NAME3 FROM TBL_IMSI_ENG_NAME_TEST ) B ON (A. KEY = B. KEY AND A.ENG_NAME IS NOT NULL ) WHEN MATCHED THEN UPDATE SET A.ENG_NAME2 = B.ENG_NAME2 , A.ENG_NAME3 = B.ENG_NAME3; Execution Plan ----------------------------------------------------------- 0 MERGE STATEMENT Optimizer=ALL_ROWS (Cost=6K Card=167K Bytes=50M) 1 0 MERGE OF 'TBL' 2 1 VIEW 3 2 HASH JOIN (Cost=6K Card=167K Bytes=51M) 4 3 TABLE ACCESS ( FULL ) OF 'TBL_TEMP_ENG_NAME_TEST' ( TABLE ) (Cost=392 Card=188K Bytes=9M) 5 3 TABLE ACCESS ( FULL ) OF 'TBL' ( TABLE ) (Cost=3K Card=167K Bytes=43M) ----------------------------------------------------------- Predicate information (identified by operation id): ----------------------------------------------------------- 3 - access( "A" . "KEY" = "KEY" ) 5 - filter( "A" . "ENG_NAME" IS NOT NULL ) ----------------------------------------------------------- |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | MERGE INTO TBL A USING ( SELECT B.ROWID RID, A. KEY , A.ENG_NAME2, A.ENG_NAME3 FROM TBL_IMSI_ENG_NAME_TEST A, TBL B WHERE A. KEY = B. KEY AND B.ENG_NAME IS NOT NULL ) B ON (A.ROWID = B.RID) WHEN MATCHED THEN UPDATE SET A.ENG_NAME2 = B.ENG_NAME2 , A.ENG_NAME3 = B.ENG_NAME3; Execution Plan ----------------------------------------------------------- 0 MERGE STATEMENT Optimizer=ALL_ROWS (Cost=13K Card=167K Bytes=50M) 1 0 MERGE OF 'TBL' 2 1 VIEW 3 2 HASH JOIN (Cost=13K Card=167K Bytes=56M) 4 3 HASH JOIN (Cost=4K Card=167K Bytes=13M) 5 4 TABLE ACCESS ( FULL ) OF 'TBL' ( TABLE ) (Cost=3K Card=167K Bytes=5M) 6 4 TABLE ACCESS ( FULL ) OF 'TBL_TEMP_ENG_NAME_TEST' ( TABLE ) (Cost=392 Card=188K Bytes=9M) 7 3 TABLE ACCESS ( FULL ) OF 'TBL' ( TABLE ) (Cost=3K Card=366K Bytes=95M) ----------------------------------------------------------- Predicate information (identified by operation id): ----------------------------------------------------------- 3 - access( "A" .ROWID= "B" .ROWID) 4 - access( "A" . "KEY" = "B" . "KEY" ) 5 - filter( "B" . "ENG_NAME" IS NOT NULL ) ----------------------------------------------------------- |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | Execution Plan ----------------------------------------------------------- 0 MERGE STATEMENT Optimizer=ALL_ROWS (Cost=3K Card=188K Bytes=31M) 1 0 MERGE OF 'HSHJHG01_IMSI_ENG_NAME_TEST' 2 1 VIEW 3 2 HASH JOIN (Cost=3K Card=188K Bytes=30M) 4 3 TABLE ACCESS ( FULL ) OF 'HSHJHG01_IMSI_ENG_NAME_TEST' ( TABLE ) (Cost=392 Card=188K Bytes=6M) 5 3 TABLE ACCESS ( FULL ) OF 'HSHJHG01_IMSI_ENG_NAME_TEST' ( TABLE ) (Cost=392 Card=188K Bytes=25M) ----------------------------------------------------------- Predicate information (identified by operation id): ----------------------------------------------------------- 3 - access( "A" . "HAKBUN" = "HAKBUN" ) 4 - filter( "ENG_NAME" IS NOT NULL ) ----------------------------------------------------------- |