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

SQL Oracle Discussion :

append pour eviter redo


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 1
    Par défaut append pour eviter redo
    bonjour
    je veux éviter l'utilisation des redo et donc des archives pour un insert

    voici les tests que j'ai fait
    via du pl/sql je passe toujours par les redo
    j'ai fait des tests
    et je ne comprends pas voici ce que j'ai fait

    creation d'une table comme dba_objects
    et j'insere

    table en nologging

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    declare 
    begin
    insert into toto select * from dba_objects where rownum<10000 ;
    end;
    /
    redosize
    1063320

    au niveau de l'insert
    avec un append
    6216

    avec un append + nologging

    3444

    avec un nologging sans append

    1015888

    le premier test est nickel

    deuxieme test


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    declare
    cursor c1 is select object_name from dba_objects where object_name like ‘DBA%’ 
    begin
    for enreg_c1 in c1 loop
    insert into toto (object_name) values (enreg_c1.object_name);
    end loop;
    end;
    /
    redo size
    267176
    avec un append : 269204
    avec append + nologging : 265388
    nologging 262924

    si quelqu'un a une idée je serai content de savoir

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 354
    Par défaut
    NOLOGGING s'applique uniquement à certaines opérations de "masse" ...
    Les instructions insert ... values, update et delete ne bénéficient pas de cette option

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

    Informations forums :
    Inscription : Janvier 2004
    Messages : 15 967
    Par défaut
    il faut utiliser un tableau et FORALL pour faire une insertion de masse en direct mode (avec append) ou INSERT AS SELECT.

Discussions similaires

  1. [Sécurité] Vider le $_POST pour eviter le F5
    Par maximenet dans le forum Langage
    Réponses: 5
    Dernier message: 11/01/2006, 13h29
  2. gerer les ' dans une chaine pour eviter erreur sql
    Par Malone dans le forum Langage
    Réponses: 3
    Dernier message: 24/08/2005, 14h27
  3. [MFC]mode append pour CStdioFile ??
    Par lucky dans le forum MFC
    Réponses: 4
    Dernier message: 21/06/2005, 16h40
  4. [débutant][Conception] Modélisation pour éviter le getClass()
    Par Oliveuh dans le forum Général Java
    Réponses: 9
    Dernier message: 28/06/2004, 20h00
  5. Pb affichage avec un PaintBox (pour eviter scintillement)
    Par juan64 dans le forum C++Builder
    Réponses: 7
    Dernier message: 08/04/2004, 09h21

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