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 :
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 :
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 ?
Partager