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

Administration Oracle Discussion :

[9i] Sqlldr : SKIP_INDEX_MAINTENANCE parameter


Sujet :

Administration Oracle

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Points : 18
    Points
    18
    Par défaut [9i] Sqlldr : SKIP_INDEX_MAINTENANCE parameter
    Bonjour,

    J'utilise Sqlldr pour charger des tables volimuneuses (+ de 20.000.000 de lignes) avec des fichiers csv
    Sur mes tables j'ai des indexes (plusieurs) et des clés primaires (une par table)

    J'utilise le mode DIRECT=Y de sqlldr avec le parametre SKIP_INDEX_MAINTENANCE

    Ma question est la suivante: quelle est la façon la plus rapide (temps d'execution)?

    Utiliser le parameter: SKIP_INDEX_MAINTENANCE=FALSE (comment il travail ?... il reconstruit les indexes a la fin ? ou le tests au fur et a mesure)
    ou
    SKIP_INDEX_MAINTENANCE=TRUE , puis reconstruire (REBUILD) les indexes de mes tables (avec des scripts éventuelement)

    Une documentation sur SKIP_INDEX_MAINTENANCE sqlldr sera la bienvenu

  2. #2
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    http://www.oracle.com/pls/db92/db92....k=&preference=

    En fait ça ne répond pas complètement à votre question.

    La technique la plus rapide est probablement de mettre ce paramètre à TRUE et de reconstruire les index à la fin.

  3. #3
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Points : 18
    Points
    18
    Par défaut
    Merci bcp pour ta réponse

    Mais je trouve pas comment le SKIP_INDEX_MAINTENANCE=FALSE marche ?... il reconstruit les indexes a la fin ?

    il faut que je passe un script pour reconstruire les indexes ? y'a pas une autre méthode ou un autre parameter Sqlldr qui fait ça !!?

  4. #4
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    FALSE est le comportement par défaut: les index sont mis à jour au fur et à mesure des INSERT, il n'y a rien à faire de plus.
    TRUE ne met pas à jour les index et il faut les reconstruire après le chargement => oui, il faut faire un script.

  5. #5
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Points : 18
    Points
    18
    Par défaut
    Citation Envoyé par pifor
    FALSE est le comportement par défaut: les index sont mis à jour au fur et à mesure des INSERT, il n'y a rien à faire de plus.
    TRUE ne met pas à jour les index et il faut les reconstruire après le chargement => oui, il faut faire un script.
    Merci, c'est ce que j'ai compris aussi

    Par contre, a ton avis quelle est la méthode la plus rapide des deux (je parle de temps d'exécution) ??!!

  6. #6
    Membre expert

    Profil pro
    Inscrit en
    Février 2006
    Messages
    3 437
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 3 437
    Points : 3 597
    Points
    3 597
    Par défaut
    La technique la plus rapide est probablement de mettre ce paramètre à TRUE et de reconstruire les index à la fin.

  7. #7
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Points : 18
    Points
    18
    Par défaut
    Oki,
    D'après mes premier test, ça dépond de la taille/nbr d'indexes de la table

    Des tests sont en cours avec les deux modes, et dans mon cas je crois que c'est le paramètre à TRUE est plus rapide

    Merci bcp pour tes réponses

    J'attend les résultats de mes tests pour passé en [Résolu]

  8. #8
    Membre à l'essai
    Inscrit en
    Juin 2004
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 49
    Points : 18
    Points
    18
    Par défaut
    La solutions prise est:

    DIRECT=Y et SKIP_INDEX_MAINTENANCE=TRUE
    +
    scripts de reconstruction des indexes

    Une amélioration très bénifique, était de déplacé les datafile de mon tablespace sur un disque en écriture par bloque avec 'No wait'

    Grand merci pifor pour tes réponses

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Objet Parameter défini de manière incorrecte.
    Par Débéa dans le forum Bases de données
    Réponses: 5
    Dernier message: 26/04/2013, 15h17
  2. Eviter les warnings "unused parameter"
    Par Le Furet dans le forum C
    Réponses: 9
    Dernier message: 03/10/2005, 22h29
  3. [VB.NET] [ODBC] Pb avec les parameters...
    Par Pleymo dans le forum Windows Forms
    Réponses: 5
    Dernier message: 02/03/2005, 14h21
  4. Syntaxe PARAMETERS pour requête sous VBA
    Par GAGNON dans le forum VBA Access
    Réponses: 3
    Dernier message: 28/11/2003, 11h39
  5. Treeview : Erreur "Reference to variable or parameter..
    Par Tirlibibi dans le forum XMLRAD
    Réponses: 4
    Dernier message: 06/05/2003, 11h19

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