Bonjour,

j'ai une table qui doit contenir des informations horodatées tournantes sur une profondeur d'un mois.
Chaque jour je supprime les informations pour garder la taille de la table à 1 mois.

Mon problème est lié à la taille de la table : 1 million d'enregistrements, et au temps mis à effectuer cette requete de suppression.

Voici la structure de la table :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE TABLE donneestechniques
(
station_id 	INTEGER NOT NULL FOREIGN KEY REFERENCES station (station_id),
indexdonnee	INTEGER NOT NULL,
dateheuretu	DATETIME DEFAULT GETDATE(),
dateheurelegale	DATETIME DEFAULT GETDATE(),
donnee		FLOAT DEFAULT '-9999',
parametre	INTEGER DEFAULT'0'
CONSTRAINT PK_donneestechniques PRIMARY KEY (station_id, indexdonnee, dateheuretu, parametre)
)
Voici ma requête de suppression :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
DELETE FROM donneestechniques WHERE dateheuretu < 'AAAAMMJJ HH:mm:SS.mse'
avec 'AAAAMMJJ HH:mm:SS.mse' la date d'il y a un mois.

La requete, executée une fois par jour, mets 5 minutes à s'éxécuter. Je cherche désespérement à diminuer son temps d'execution.

Avez vous des conseils sur les tables avec un nombre important d'enregistrements permettant de résoudre mon problème ?