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.