Salut,
J'ai une table qui contient des données rangées par id d'alimentation.
Pour l'alimentation id = a1 je peux avoir 10 000 lignes.
Pour l'alimentation id = a2 e peux avoir 2 millions de lignes et ainsi de suite ...
Cette table peut contenir jusqu'à n id.
Je me pose une question,
quelle est le meilleur moyen de purger cette table ?
Si je fais un delete par exemple pour l'id a2, c'est inimaginable,
car il y a 5 millions de lignes.
Je pensai faire un create table as select , en prenant tout sauf l'id a2.
Puis un rename table.
Je pensai aussi à partitionner la table et faire un truncate de partition.
Je me suis renseigner sur les partitions mais dans mon cas,
je pense pas que ce sera impossible, dans la mesure ou je ne connais pas l'id d'alimentation.
Aujourd'hui c 'est a1 et demain ça peut-être c42. Or pour créer une partition (range, liste) , il faut lui indiquer des valeurs (ex : < à telle date..).
Si je souhaite faire un delete, existe-il un pourcentage à partir duquel le delete est possible ?
Par exemple, si je souhaite purger 50% de la table alors c'est plus optimal de faire un create table as, puis un truncate et ensuite réinsérer les données dans la table. Si je purge 5% de la table alors faire un delete.
Merci de votre aide
Partager