Bonjour,
Je voudrais effectuer des DELETE sur une table très volumineuse
Nombre de ligne de la table : 2 Milliards environs
La suppression est faite sur le champ « Mois »
Environ 15 millions de lignes pour chaque mois
Avec les commandes SAS, j'ai deux possibilités
Soit une étape Data
Avantages :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 DATA bib.table1 ; SET bib.table1 ; IF mois = 10 Then DELETE ; Run ;
temps de traitement acceptable
Inconvénients :
Pour effectuer la suppression sur une table de 100 Go, la suppression nécessite presque 100 Go d'espace disque supplémentaire
Soit une proc SQL :
Avantages :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Proc sql ; DELETE FROM bib.table1 WHERE Mois = 10 ; Quit;
Pas de disque supplémentaire pour effectuer l’opération de suppression
Inconvénients :
- temps de traitement catastrophiques
- Après la suppression l'espace disque occupé par le mois=10 n'est pas libéré
Ma question :
Y a-t-il une possibilité de partitionner cette table sur la clé= mois pour effectuer des Truncate ou des Drop Partition ?
Merci d’avance.![]()
Partager