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

Langage SQL Discussion :

Optimisation insert select


Sujet :

Langage SQL

  1. #1
    fab
    fab est déconnecté
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 49
    Points
    49
    Par défaut Optimisation insert select
    Bonjour,

    J'ai une requete select assez importante. Je l'optimise et finit par avoir mes 1748 lignes en quelques secondes. Parfait.

    Je veux insérer ce résultat dans une autre table avec un INSERT INTO () VALUES (SELECT...)

    J'ai bien suivi les instructions d'optimisation préconisé : type de colonne identique et nommage des colonnes dans la 1ere partie du INSERT.

    Malgré cela le temps d'insert est vraiment très long : plusieurs dizaines de minutes !

    Quel peut-être le problème ?

    Merci

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 109
    Points : 28 437
    Points
    28 437
    Par défaut
    Plusieurs causes possibles :
    • De nombreux index à mettre à jour
    • De nombreux contrôles d'intégrité
    • La table cible en cours d'utilisation par une autre transaction, en attente de libération des verrous

  3. #3
    Membre actif Avatar de TheRussian
    Profil pro
    Inscrit en
    Avril 2003
    Messages
    200
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2003
    Messages : 200
    Points : 241
    Points
    241
    Par défaut
    Bonjour,

    je dis peut-être une grosse bêtise mais en supprimant les index et clés primaires avant de faire l'insert et en les remettant après cela doit faire gagner du temps, non ? Est-ce que quelqu'un peut confimer/infirmer ?

  4. #4
    fab
    fab est déconnecté
    Membre du Club
    Inscrit en
    Juillet 2003
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Juillet 2003
    Messages : 44
    Points : 49
    Points
    49
    Par défaut
    Citation Envoyé par al1_24
    Plusieurs causes possibles :
    • De nombreux index à mettre à jour
    • De nombreux contrôles d'intégrité
    • La table cible en cours d'utilisation par une autre transaction, en attente de libération des verrous
    - Ma table est vide
    - 2 controle d'intégrité NOT NULL
    - J'ai bien eu des sessions plantées qui m'ont bloqué mais je les ai "killé"

    Je viens de recommencer : 10 sec. pour le SELECT, 8mn pour le INSERT.

    C'est normal ?


    Voici mon plan d'execution, mais je ne comprend pas tout : Le mot SERIAL m'inquiète un peu. Apparemment il n'y a pas d'index utilisé, contrairement au plan du select.

    Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop

    INSERT STATEMENT Optimizer Mode=CHOOSE 1 297
    SORT GROUP BY 1 317 297
    NESTED LOOPS 1 317 295
    NESTED LOOPS 1 288 294
    NESTED LOOPS 1 273 294
    NESTED LOOPS OUTER 54 12 K 240
    NESTED LOOPS OUTER 26 5 K 214
    NESTED LOOPS 26 4 K 188
    NESTED LOOPS 26 3 K 84
    NESTED LOOPS 26 2 K 32
    REMOTE 26 2 K 6 X3.WORLD SERIAL
    REMOTE 1 22 1 X3.WORLD SERIAL
    REMOTE 1 33 2 X3.WORLD SERIAL
    REMOTE 1 48 4 X3.WORLD SERIAL
    REMOTE 1 31 1 X3.WORLD SERIAL
    REMOTE 2 44 1 X3.WORLD SERIAL
    REMOTE 1 32 1 X3.WORLD SERIAL
    REMOTE 1 15 X3.WORLD SERIAL
    REMOTE 12 348 1 X3.WORLD SERIAL

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  2. [Optimisation] Insert Select
    Par fab dans le forum Oracle
    Réponses: 7
    Dernier message: 25/07/2006, 21h09
  3. INSERT + SELECT TOP...argument incorrect
    Par samlepiratepaddy dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 12/09/2005, 01h10
  4. [insert][select] Subqueries not allowed
    Par Invité dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 05/09/2005, 11h56
  5. insert-select sur 2 base différente
    Par gskoala dans le forum Paradox
    Réponses: 2
    Dernier message: 16/11/2004, 15h11

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