Bonjour,
j’ai une table ainsi crée sous Sql server 7
tblCUMULS_ELEMENTS
( DATE_VENTE date,
CODE_ELEMENT varchar(13),
CODE_RAYON varchar(10),
FOYER char(10),
NO_CAISSE char(3)
)
Elle possède une PRIMARY KEY CLUSTERED avec ( DATE_VENTE, CODE_ELEMENT, CODE_RAYON, FOYER, NO_CAISSE), + 1 index sur FOYER.
Je souhaite executer cette requete :
UPDATE tblCUMULS_ELEMENTS
SET tblCUMULS_ELEMENTS.FOYER = ‹ 1234567890 ›
WHERE tblCUMULS_ELEMENTS.FOYER = ‹ 9999999999 ›
AND NOT EXISTS ( SELECT 1
FROM tblCUMULS_ELEMENTS T1
WHERE tblCUMULS_ELEMENTS.DATE_VENTE = T1.DATE_VENTE
AND tblCUMULS_ELEMENTS.CODE_ELEMENT = T1.CODE_ELEMENT
AND tblCUMULS_ELEMENTS.CODE_RAYON = T1.CODE_RAYON
AND tblCUMULS_ELEMENTS.FOYER = ‹ 1234567890 ›
AND tblCUMULS_ELEMENTS.NO_CAISSE = T1.NO_CAISSE )
c’est à dire remplacer le foyer ‹ 9999999999 › par ‹ 1234567890 › quand les lignes n’existent pas pour le foyer ‹ 1234567890 ›.
Cependant, cette table est trés volumineuse ( 35 millions d’enrgt ) et le traitement s’avère assez couteux pour mettre à jour plus de 1000 données ( 30s et plus ).
Je solicite donc votre aide : avez-vous une piste pour accélérer cette requête.
Merci d’avance.