IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Oracle Discussion :

Mise a jour Sans Merge


Sujet :

Oracle

  1. #1
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut Mise a jour Sans Merge
    Salut,

    Je veux mettre a jour une table. Je ne peux utiliser Merge parce que j'ai defini des "domain index" et Oracle ne supporte pas l'utilisation du Merge avec les domain index.

    je veux mettre a jour a peu pres un million d'enregistrements. Quelle est la solution la plus efficace et performante?

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Customer Success Manager @Vertica
    Inscrit en
    Septembre 2008
    Messages
    8 452
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Customer Success Manager @Vertica
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 452
    Points : 17 820
    Points
    17 820
    Par défaut
    Quelle version, quelle est la volumétrie de votre table ?

  3. #3
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut
    Oracle 10g et une table contenat 871888 enregistrements et je dois metre a jour 36 colonnes

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    tu veux mettre à jour tous les enregistrements?

  5. #5
    Membre régulier
    Inscrit en
    Juin 2006
    Messages
    218
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 218
    Points : 72
    Points
    72
    Par défaut
    oui!

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    750
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 750
    Points : 341
    Points
    341
    Par défaut
    l'update prend combien de temps?

  7. #7
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    j'vois pas le rapport entre une mise à jour et MERGE... pour mettre à jour les données on fait un UPDATE

  8. #8
    Membre expérimenté Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Points : 1 332
    Points
    1 332
    Par défaut
    Citation Envoyé par orafrance Voir le message
    j'vois pas le rapport entre une mise à jour et MERGE... pour mettre à jour les données on fait un UPDATE

    Sans doute notre ami est sous Oracle 10G au moins , mais il ne l'a pas précisé

    Bref a partir de 10G tu peux faire un MERGE update seulement ...

    Sinon a Identifiant

    Peux tu te permettre une periode ou la table ne peut etre accédée par les utilisateurs ?

    Si oui , le plus rapide serait

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    create table temp as select col1,col2, col3....
    from source
    where ...
    ;
     
    creation des indexes 
     
    renommer les tables 
    source ==> OLD
    temp==>source
     
    faire les grants
    les synonyms....
    etc
    Sinon , si tu ne peux pas : il faut négocier une indisponibilité de la table ...
    ( quand c'est moins chargé , week end ,la nuit ...)

    OU faire l'update tel quel , .... a tester sur un autre serveur de test le temps d'execution :
    1.en update direct,
    2.update sans les indexes + creation index apres
    3.et avec methode CTAS

    Si ca se trouve quelques minutes vont suffir

    asktom.oracle.com tahiti.oracle.com otn.oracle.com

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.


    phrase chinoise issue du Huainanzi

  9. #9
    Expert éminent sénior
    Avatar de orafrance
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    15 967
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Points : 19 073
    Points
    19 073
    Par défaut
    Ca je sais... mais tu fais un MERGE pour la mise à jour mais surtout pour insérer une ligne si la ligne à mettre à jour n'existe pas

Discussions similaires

  1. mise a jour sans internet
    Par cdsoft dans le forum Windows XP
    Réponses: 4
    Dernier message: 04/01/2012, 17h08
  2. Réponses: 1
    Dernier message: 03/02/2009, 09h54
  3. [SQL]Mise a jour sans passer par du code
    Par hackel dans le forum Access
    Réponses: 7
    Dernier message: 06/04/2007, 09h13
  4. Mise à jour sans être root
    Par Eusebius dans le forum Administration système
    Réponses: 6
    Dernier message: 06/06/2006, 12h40
  5. Réponses: 4
    Dernier message: 02/05/2006, 12h08

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo