Précédent   Forum des professionnels en informatique > Bases de données > Oracle
Oracle Forum Oracle : le serveur, les outils, ... Voir F.A.Q Oracle Tutoriels Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/09/2011, 17h26   #1
Membre à l'essai
 
Inscription : avril 2009
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 49
Points : 21
Points : 21
Par défaut Avant un delete avec condition, drop ou unusable des index ?

Bonjour,

Je travaille sur l'alimentation d'une base Oracle 11g avec Talend.
En fin d'alimentation, j'ai une table T de 25 colonnes, dont 12 index (11 clés étrangères et dateD), contenant 16 millions de lignes.
Je veux faire un delete:
Code :
1
2
3
DELETE 
FROM T
WHERE T.dateD<(sysdate-9521)
dateD étant un . J'ai environ 10 millions de lignes qui sont supprimées mais cela prend 8h...

Pour accélérer ce delete, j'hésite entre 2 solutions :
1-je drop les 11 index (dateD non-compris), je fais le delete, je re-cré les 11 index.
2-je rends UNUSABLE les 11 index, je fais le delete, je REBUILD les index.

Que me conseillez-vous ?
kir4000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/09/2011, 17h43   #2
Membre à l'essai
 
Inscription : avril 2009
Messages : 49
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 49
Points : 21
Points : 21
Mon sujet reprend un peu le thème abordé récemment
http://www.developpez.net/forums/d11...base-solution/
Mais je n'ai pas trouvé de réponse à mon cas.

Pour complément d'information,
Il y a une première "grosse purge" (10millions de lignes) la table T.
Puis c'est une alimentation mensuelle et donc le delete devra parcourir les 6 millions (+300 000 chaque mois) de lignes de la table T.
Après ma base infocentre contient une centaine de tables, la table T étant utilisé comme table de dimension.
kir4000 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/10/2011, 15h57   #3
Membre éclairé
 
Avatar de boussafi
 
Homme
Ingénieur développement logiciels
Inscription : septembre 2007
Messages : 342
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : Algérie

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : Industrie

Informations forums :
Inscription : septembre 2007
Messages : 342
Points : 397
Points : 397
Envoyer un message via Yahoo à boussafi Envoyer un message via Skype™ à boussafi
il tas choses qui alourdissent le DELETE. parmis ces choses; les contraintes, les triggers, le nombre de segment d'annulation(undo à partir de 9i)...
boussafi est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 03/10/2011, 11h08   #4
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 311
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 311
Points : 5 813
Points : 5 813
Voir si ce n'est plus intéressant de créer une nouvelle table T_N avec ce qui devrait rester de la table T après purge, détruire la table T et renommer la table T_N en T, etc.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 03h43.


 
 
 
 
Partenaires

Hébergement Web