-1
我有以下MERGE語句花費很長時間(大約20-30分鐘)。環境是LINUX上的DB2 9.7。數據庫上沒有其他查詢,因爲它是開發環境。長時間運行MERGE語句
MERGE INTO TEST.COMPANY cc
USING(SELECT c.COMPANY_ID COMPANY_ID, b.COUNTRY_ID COUNTRY_ID
FROM COMPANY c,
BRNCH b
WHERE b.branch_id IN (SELECT c.branch_id FROM COMPANY c)) a
ON(cc.COMPANY_ID=a.COMPANY_ID)
WHEN MATCHED AND a.COUNTRY_ID=11000 THEN
UPDATE SET cc.CTRY='US'
WHEN MATCHED AND a.COUNTRY_ID=11001 THEN
UPDATE SET cc.CTRY='CA';
TEST.COMPANY(86個COLUMNS)= 1000行
- PK ON COMPANY_ID + COMPANY_REGION_ID
COMPANY(86個COLUMNS)= 1.84百萬行
- PK ON COMPANY_ID + COMPANY_REGION_ID
BRNCH(117個COLUMNS)= 595
- PK ON BRANCH_ID
它用了12分鐘來執行這一點。我將不勝感激任何SQL調優幫助。我希望我已經提供了足夠的信息。
我想你可能已經忘記了加入'COMPANY'和'BRNCH'了'USING'子句。 – mustaccio