Rechercher : dans
Par :

Optimisation de requete sous sql server 7

lulu1537, le 25 nov 2008 à 21:15:45 
 Signaler ce message aux modérateurs

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.

Configuration: Windows server 2003
Firefox 3.0.4