Hello all,
For this, I have 1 large history table (30mio records).
I have to merge a daily delta table (4mio records) into it.
To do this, I wrote the stmt below (truncated because the msg is too long for this window). I tested the syntax with just a few lines and it works. Now, the query is running in production but it seems to take a very long time. in the task manager on the server, I can see almost no CPU-usage or extra memory consumption.
What can be wrong ?
Which parameters to check or increase ?
Also, db2advis doesn't give anything back because it seems to be captured as a non valid sql stmt ....
Many thanks in advance
Peter
CONNECT TO NEWSTEP user db2admin using admindb2;
MERGE INTO DIFOT.EMEA_FEED_HIST as dest
USING (SELECT KEY_SLS_ORDR_FACT_ID, KEY_DLVRY_FACT_ID, SOLD_TO_CUST, REGION, SUBRGN, SUBRGN_DESC,
ACCT_CUST_GRP_CODE, ACCT_SPLY_CHN_GRP_CODE, SLS_ORG_CODE,
SLS_ORG_DESC, PLNT_LOCTN_CODE, DIVISION,
SLS_DOC_HDR_NUM_CODE, SLS_DOC_LN_ITM_NUM_CODE,
SLS_DOC_SCHDL_LN_NUM_CODE, DLVRY_DOC_HDR_NUM_CODE,
DLVRY_DOC_SCHDL_LN_NUM_CODE, KEY_CNCL_DATE_DIM_ID,
SHP_TO_CUST, SHP_TO_COUNTRY, MATRL, KEY_CCD_DATE_DIM_ID,
BUCKET_MONTH_DATE, KEY_CRD_DATE_DIM_ID, KEY_MAD_DIM_ID,
DATE_OF_DLVR_DUE, CANCEL_DATE, AGID_DATE, PGID_DATE,
SO_IDP_DATE, SCHDLD_BKNG_IN_DATE, PLND_SCHDLD_DT,
OUTGOING_DT, AFS_CAT_CODE, CRDT_STAT_CODE, SO_ITM_CAT_CODE,
SO_IDP_FLAG, DLVRY_CNT, ORDR_ENTRY_QTY, UNCNFRMD_QTY,
CNFRMD_QTY, BAS_DLVRY_QTY, RSRVD_UNIT_QTY, OPEN_QTY,
UNASSIGNED_QTY, ALLOC_F_QTY, ALLOC_T_QTY, DLVRY_UNIT_QTY,
RJCTD_UNIT_QTY, UOM_CNVRSN_FCTR, SOS_BAS_UOM, CAT_CD,
CHNL_CLASS, LIFECYCLE, SUB_CAT_CODE, TYPE_GRP, ACCT_TYPE,
ACCT_TYPE_DESC, DIRECT_SHIP_FLAG, QUALITY_CD, ALLOC_D_QTY,
SCHED_SC_QTY, SCHED_PH_QTY, CONTRACT_QTY, CONTRACT_FLAG,
CREDIT_FLAG, DIST_METHOD, ALLOC_FB_QTY, ALLOC_FNB_QTY,
EMEA_RPT_GRP, HOLD_TYPE, DLVRY_HOLD_QTY, ORDR_TYPE_CODE,
CREDIT_HOLD_QTY, SHIP_ALLOC_QTY, SHIP_IN_PROCESS_QTY,
FIRST_PRODUCT_OFFER_DATE, FLAG_AT_ONCE, FLAG_BGRADE,
FLAG_CLOSEOUTS, FLAG_FUTURES, FLAG_PARTNERS, FLAG_STRATEGIC,
MARKETING_CODE, LAUNCH_INDICATOR, CRDNTD_RLSE_CODE,
CUST_ORDR_NUM_CODE, CMPLTNSS_FLAG, SLS_OFFICE,
CNTRCT_START_DATE, CNTRCT_END_DATE, CNTRCT_DOC_HDR_NUM_CODE,
OB_DLVRY_BLCK_CODE, RSRVD_IN_TRANSIT_QTY, RSRVD_PO_QTY,
RSRVD_ON_HAND_QTY, DELIVERY_PRIORITY, DLVRY_GRP_CODE,
MATRL_SIZE_CODE, SO_DLVRY_BLCK_CODE, SO_LN_DLVRY_BLCK_CODE,
RTE_CODE, SHPPNG_COND, LDNG_PNT_LOCTN, ZZZ_RCRD_CREATE_DTTM,
IDP_DATE, IDP_FLAG
FROM DIFOT.EMEA_LOAD) as source
ON ( dest.KEY_SLS_ORDR_FACT_ID = source. KEY_SLS_ORDR_FACT_ID AND
dest.KEY_DLVRY_FACT_ID = source. KEY_DLVRY_FACT_ID)
WHEN MATCHED THEN
UPDATE SET
SOLD_TO_CUST = source.SOLD_TO_CUST ,
REGION = source.REGION,
SUBRGN = source.SUBRGN,
SUBRGN_DESC = source.SUBRGN_DESC ,
ACCT_CUST_GRP_CODE = source.ACCT_CUST_GRP_CODE ,
ACCT_SPLY_CHN_GRP_CODE = source.ACCT_SPLY_CHN_GRP_CODE ,
SLS_ORG_CODE = source.SLS_ORG_CODE ,
SLS_ORG_DESC = source.SLS_ORG_DESC ,
PLNT_LOCTN_CODE = source.PLNT_LOCTN_CODE ,
DIVISION = source.DIVISION ,
SLS_DOC_HDR_NUM_CODE = source.SLS_DOC_HDR_NUM_CODE ,
SLS_DOC_LN_ITM_NUM_CODE = source.SLS_DOC_LN_ITM_NUM_CODE ,
SLS_DOC_SCHDL_LN_NUM_CODE = source.SLS_DOC_SCHDL_LN_NUM_CODE ,
DLVRY_DOC_HDR_NUM_CODE = source.DLVRY_DOC_HDR_NUM_CODE ,
DLVRY_DOC_SCHDL_LN_NUM_CODE = source.DLVRY_DOC_SCHDL_LN_NUM_CODE ,
KEY_CNCL_DATE_DIM_ID = source.KEY_CNCL_DATE_DIM_ID ,
SHP_TO_CUST = source.SHP_TO_CUST ,
SHP_TO_COUNTRY = source.SHP_TO_COUNTRY ,
MATRL = source.MATRL ,
KEY_CCD_DATE_DIM_ID = source.KEY_CCD_DATE_DIM_ID ,
BUCKET_MONTH_DATE = source.BUCKET_MONTH_DATE ,
KEY_CRD_DATE_DIM_ID = source.KEY_CRD_DATE_DIM_ID ,
KEY_MAD_DIM_ID = source.KEY_MAD_DIM_ID ,
DATE_OF_DLVR_DUE = source.DATE_OF_DLVR_DUE ,
CANCEL_DATE = source.CANCEL_DATE ,
AGID_DATE = source.AGID_DATE ,
PGID_DATE = source.PGID_DATE ,
SO_IDP_DATE = source.SO_IDP_DATE ,
SCHDLD_BKNG_IN_DATE = source.SCHDLD_BKNG_IN_DATE ,
PLND_SCHDLD_DT = source.PLND_SCHDLD_DT ,
OUTGOING_DT = source.OUTGOING_DT ,
AFS_CAT_CODE = source.AFS_CAT_CODE ,
CRDT_STAT_CODE = source.CRDT_STAT_CODE ,
SO_ITM_CAT_CODE = source.SO_ITM_CAT_CODE ,
SO_IDP_FLAG = source.SO_IDP_FLAG ,
DLVRY_CNT = source.DLVRY_CNT ,
ORDR_ENTRY_QTY = source.ORDR_ENTRY_QTY ,
UNCNFRMD_QTY = source.UNCNFRMD_QTY ,
CNFRMD_QTY = source.CNFRMD_QTY ,
BAS_DLVRY_QTY = source.BAS_DLVRY_QTY ,
RSRVD_UNIT_QTY = source.RSRVD_UNIT_QTY ,
OPEN_QTY = source.OPEN_QTY ,
UNASSIGNED_QTY = source.UNASSIGNED_QTY ,
ALLOC_F_QTY = source.ALLOC_F_QTY ,
ALLOC_T_QTY = source.ALLOC_T_QTY ,
DLVRY_UNIT_QTY = source.DLVRY_UNIT_QTY ,
RJCTD_UNIT_QTY = source.RJCTD_UNIT_QTY ,
UOM_CNVRSN_FCTR = source.UOM_CNVRSN_FCTR ,
SOS_BAS_UOM = source.SOS_BAS_UOM ,
CAT_CD = source.CAT_CD ,
CHNL_CLASS = source.CHNL_CLASS ,
LIFECYCLE = source.LIFECYCLE ,
SUB_CAT_CODE = source.SUB_CAT_CODE ,
TYPE_GRP = source.TYPE_GRP ,
ACCT_TYPE = source.ACCT_TYPE ,
ACCT_TYPE_DESC = source.ACCT_TYPE_DESC ,
DIRECT_SHIP_FLAG = source.DIRECT_SHIP_FLAG,
QUALITY_CD = source.QUALITY_CD ,
ALLOC_D_QTY = source.ALLOC_D_QTY ,
SCHED_SC_QTY = source.SCHED_SC_QTY ,
SCHED_PH_QTY = source.SCHED_PH_QTY ,
CONTRACT_QTY = source.CONTRACT_QTY ,
CONTRACT_FLAG = source.CONTRACT_FLAG ,
CREDIT_FLAG = source.CREDIT_FLAG ,
DIST_METHOD = source.DIST_METHOD ,
ALLOC_FB_QTY = source.ALLOC_FB_QTY ,
ALLOC_FNB_QTY = source.ALLOC_FNB_QTY ,
EMEA_RPT_GRP = source.EMEA_RPT_GRP ,
HOLD_TYPE = source.HOLD_TYPE ,
DLVRY_HOLD_QTY = source.DLVRY_HOLD_QTY ,
ORDR_TYPE_CODE = source.ORDR_TYPE_CODE ,
CREDIT_HOLD_QTY = source.CREDIT_HOLD_QTY ,
SHIP_ALLOC_QTY = source.SHIP_ALLOC_QTY ,
SHIP_IN_PROCESS_QTY = source.SHIP_IN_PROCESS_QTY,
FIRST_PRODUCT_OFFER_DATE = source.FIRST_PRODUCT_OFFER_DATE ,
FLAG_AT_ONCE = source.FLAG_AT_ONCE ,
FLAG_BGRADE = source.FLAG_BGRADE ,
FLAG_CLOSEOUTS = source.FLAG_CLOSEOUTS ,
FLAG_FUTURES = source.FLAG_FUTURES ,
FLAG_PARTNERS = source.FLAG_PARTNERS ,
FLAG_STRATEGIC = source.FLAG_STRATEGIC ,
MARKETING_CODE = source.MARKETING_CODE ,
LAUNCH_INDICATOR = source.LAUNCH_INDICATOR ,
CRDNTD_RLSE_CODE = source.CRDNTD_RLSE_CODE ,
CUST_ORDR_NUM_CODE = source.CUST_ORDR_NUM_CODE ,
CMPLTNSS_FLAG = source.CMPLTNSS_FLAG ,
SLS_OFFICE = source.SLS_OFFICE ,
CNTRCT_START_DATE = source.CNTRCT_START_DATE ,
CNTRCT_END_DATE = source.CNTRCT_END_DATE ,
CNTRCT_DOC_HDR_NUM_CODE = source.CNTRCT_DOC_HDR_NUM_CODE ,
OB_DLVRY_BLCK_CODE = source.OB_DLVRY_BLCK_CODE ,
RSRVD_IN_TRANSIT_QTY = source.RSRVD_IN_TRANSIT_QTY ,
RSRVD_PO_QTY = source.RSRVD_PO_QTY ,
RSRVD_ON_HAND_QTY = source.RSRVD_ON_HAND_QTY ,
DELIVERY_PRIORITY = source.DELIVERY_PRIORITY ,
DLVRY_GRP_CODE = source.DLVRY_GRP_CODE ,
MATRL_SIZE_CODE = source.MATRL_SIZE_CODE ,
SO_DLVRY_BLCK_CODE = source.SO_DLVRY_BLCK_CODE ,
SO_LN_DLVRY_BLCK_CODE = source.SO_LN_DLVRY_BLCK_CODE ,
RTE_CODE = source.RTE_CODE ,
SHPPNG_COND = source.SHPPNG_COND ,
LDNG_PNT_LOCTN = source.LDNG_PNT_LOCTN ,
ZZZ_RCRD_CREATE_DTTM = source.ZZZ_RCRD_CREATE_DTTM ,
IDP_DATE = source.IDP_DATE ,
IDP_FLAG = IDP_FLAG
WHEN NOT MATCHED THEN
INSERT(KEY_SLS_ORDR_FACT_ID, KEY_DLVRY_FACT_ID, SOLD_TO_CUST, REGION, SUBRGN, SUBRGN_DESC,
ACCT_CUST_GRP_CODE, ACCT_SPLY_CHN_GRP_CODE, SLS_ORG_CODE,
SLS_ORG_DESC, PLNT_LOCTN_CODE, DIVISION,
SLS_DOC_HDR_NUM_CODE, SLS_DOC_LN_ITM_NUM_CODE,
SLS_DOC_SCHDL_LN_NUM_CODE, DLVRY_DOC_HDR_NUM_CODE,
DLVRY_DOC_SCHDL_LN_NUM_CODE, KEY_CNCL_DATE_DIM_ID,
SHP_TO_CUST, SHP_TO_COUNTRY, MATRL, KEY_CCD_DATE_DIM_ID,
BUCKET_MONTH_DATE, KEY_CRD_DATE_DIM_ID, KEY_MAD_DIM_ID,
DATE_OF_DLVR_DUE, CANCEL_DATE, AGID_DATE, PGID_DATE,
SO_IDP_DATE, SCHDLD_BKNG_IN_DATE, PLND_SCHDLD_DT,
OUTGOING_DT, AFS_CAT_CODE, CRDT_STAT_CODE, SO_ITM_CAT_CODE,
SO_IDP_FLAG, DLVRY_CNT, ORDR_ENTRY_QTY, UNCNFRMD_QTY,
CNFRMD_QTY, BAS_DLVRY_QTY, RSRVD_UNIT_QTY, OPEN_QTY,
UNASSIGNED_QTY, ALLOC_F_QTY, ALLOC_T_QTY, DLVRY_UNIT_QTY,
RJCTD_UNIT_QTY, UOM_CNVRSN_FCTR, SOS_BAS_UOM, CAT_CD,
CHNL_CLASS, LIFECYCLE, SUB_CAT_CODE, TYPE_GRP, ACCT_TYPE,
ACCT_TYPE_DESC, DIRECT_SHIP_FLAG, QUALITY_CD, ALLOC_D_QTY,
SCHED_SC_QTY, SCHED_PH_QTY, CONTRACT_QTY, CONTRACT_FLAG,
CREDIT_FLAG, DIST_METHOD, ALLOC_FB_QTY, ALLOC_FNB_QTY,
EMEA_RPT_GRP, HOLD_TYPE, DLVRY_HOLD_QTY, ORDR_TYPE_CODE,
CREDIT_HOLD_QTY, SHIP_ALLOC_QTY, SHIP_IN_PROCESS_QTY,
FIRST_PRODUCT_OFFER_DATE, FLAG_AT_ONCE, FLAG_BGRADE,
FLAG_CLOSEOUTS, FLAG_FUTURES, FLAG_PARTNERS, FLAG_STRATEGIC,
MARKETING_CODE, LAUNCH_INDICATOR, CRDNTD_RLSE_CODE,
CUST_ORDR_NUM_CODE, CMPLTNSS_FLAG, SLS_OFFICE,
CNTRCT_START_DATE, CNTRCT_END_DATE, CNTRCT_DOC_HDR_NUM_CODE,
OB_DLVRY_BLCK_CODE, RSRVD_IN_TRANSIT_QTY, RSRVD_PO_QTY,
RSRVD_ON_HAND_QTY, DELIVERY_PRIORITY, DLVRY_GRP_CODE,
MATRL_SIZE_CODE, SO_DLVRY_BLCK_CODE, SO_LN_DLVRY_BLCK_CODE,
RTE_CODE, SHPPNG_COND, LDNG_PNT_LOCTN, ZZZ_RCRD_CREATE_DTTM,
IDP_DATE, IDP_FLAG)
VALUES(
source.KEY_SLS_ORDR_FACT_ID, ....);