Skip to Main Content

SQL & PL/SQL

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!

Merge statement performance improvement

913578May 20 2018 — edited Jun 4 2018

Hi,

The below merge statement taking 2 hours to run. i have to tune this statement.

Is there any changes i can do so that the execution time can be reduced.

please suggest.

MERGE INTO PT_FEATURES PF USING

  (SELECT * FROM TMP_STG_TRFM_PT_FTRS) SRC

ON (PF.PATH_FEATURE_ID = SRC.PATH_FEATURE_ID)

WHEN NOT MATCHED

THEN

INSERT VALUES (SRC.PATH_FEATURE_ID,

   SRC.PATH_ID,

   SRC.NAME,

   SRC.VALUE)

  LOG ERRORS INTO PATH_FTRS_ERR_LOG('Oracle tag')

  REJECT LIMIT UNLIMITED;

Below are the table details. Oracle version is Oracle Database 10g 10.2.0.4.0

Let me know if you need any more info. 

DESC PT_FEATURES

Name            Null     Type         

--------------- -------- -------------

PATH_FEATURE_ID NOT NULL NUMBER

PATH_ID                   NOT NULL NUMBER

NAME                        NOT NULL VARCHAR2(100)

VALUE                                          VARCHAR2(700)

-------------------------------------------------

DESC TMP_STG_TRFM_PT_FTRS

Name            Null Type         

--------------- ---- -------------

PATH_FEATURE_ID      NUMBER

PATH_ID                        NUMBER

NAME                            VARCHAR2(100)

VALUE                           VARCHAR2(700)

-------------------------------------------------

SELECT COUNT(*) FROM PT_FEATURES;

21770143

-------------------------------------------------

SELECT COUNT(*) FROM TMP_STG_TRFM_PT_FTRS;

3301880

This post has been answered by AndrewSayer on May 25 2018
Jump to Answer
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Jun 23 2018
Added on May 20 2018
20 comments
11,035 views