Optimisation UPDATE (too long)
Bonjour à tous,
Je rencontre quelques soucis avec un UPDATE. 500.000 lignes env (ce qui n'est pas énorme)
Pour l'instant ce que je fait :
- Création d'un table tmp (physique) avec uniquement la données qui m’intéresse + Les colonnes de la jointure utile à l'update.
- Les index sont créés sur les deux tables.
Code:
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
|
INSERT INTO A (s2cgr, cgr_cod, chm, chmaa, ets)
SELECT s2cgr, cgr_cod, chm, chmaa, ets
FROM Source,
B
WHERE Source.cgr_cod = B.cgr_cod
AND Source.ets = B.ets
AND Source.chmaa = B.chmaa
AND Source.chm = B.chm
AND B.chm = 'ST15';
COMMIT;
UPDATE B
SET B.unite = (SELECT DISTINCT s2cgr
FROM A CCGR
WHERE A.cgr_cod = B.cgr_cod
AND A.ets = B.ets
AND A.chmaa = B.chmaa
AND A.chm = B.chm)
WHERE B.chm = 'ST15'
AND EXISTS
( SELECT 1 FROM A CCGR
WHERE A.cgr_cod = B.cgr_cod
AND A.ets = B.ets
AND A.chmaa = B.chmaa
AND A.chm = B.chm) |
Vous avez une idée ?
Bonne soirée.