|
Тема |
Подобряване на скоростта при UPDATE и Oracle 11 |
|
Автор |
AйeзCeдaй ((бойна)) |
|
Публикувано | 23.11.12 17:31 |
|
|
Накратко имам мастер таблица с 90.000 записа.
И детайл таблица с 21.373.793 записа.
имам код от типа на
FOR REC IN (SELECT MST.ID
FROM MASTERTABLE MST
WHERE MST.MONTH>=1 AND MST.MONTH<=9 AND MST.YEAR=2012
) LOOP
FOR REC_ACC IN (SELECT A1.ID FROM DETAILTBL A1
WHERE A1.PRODMSTID=REC.ID
) LOOP
UPDATE DETAILTBL A SET AVALUE=0, A.VALUE2=0, AVALUE3=0
WHERE A.ID=REC_ACC.ID;
COMMIT;
END LOOP;
END LOOP;
ииии много, много се бави.... (около 3 часа). Ще ми се поне за 1,5 ч. да става
(имам си си всички необходими ключове, индекси)
някакви идеи за подобрябане на скоростта ....
Редактирано от AйeзCeдaй на 23.11.12 17:34.
|
| |
|
|
|