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

Développement SQL Server Discussion :

Meilleure méthode pour insérer un grand nombre de lignes [2000]


Sujet :

Développement SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 14
    Par défaut Meilleure méthode pour insérer un grand nombre de lignes
    Bonjour,

    j'ai un tableau de 700 lignes et de 5 colonnes qui contient des données à insérer dans une table. Cette table a la structure du tableau : 5 colonnes.

    je déroule l'algo suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    connexion à la base
      pour chaque ligne i du tableau
        requete : INSERT INTO matable (colonnes) VALUES (valeurs de la ligne i)
      fin pour
    deconnexion de la base
    cette boucle mets environ 5 secondes à s'éxécuter, mais je note des temps d'éxecution pour cette même requete parfois très longs : 30 secondes et plus.

    y a-t-il une meilleure manière d'insérer ces données ? procédure stockée ?
    qu'est ce qui peut expliquer ces latences dans l'éxécution ?

    merci de votre aide et de vos commentaires,

    Nicolas

  2. #2
    Membre émérite
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2006
    Messages
    730
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

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

    Informations forums :
    Inscription : Août 2006
    Messages : 730
    Par défaut
    ton tableau c'est quoi ?

    un formulaire, un fichier ....

  3. #3
    Rédacteur

    Avatar de SQLpro
    Homme Profil pro
    Expert bases de données / SQL / MS SQL Server / Postgresql
    Inscrit en
    Mai 2002
    Messages
    21 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Expert bases de données / SQL / MS SQL Server / Postgresql
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2002
    Messages : 21 996
    Billets dans le blog
    6
    Par défaut
    si fichier alors BULK INSERT en dimensionnant le lot transactionnel à 64 Ko.

    A +
    Frédéric Brouard - SQLpro - ARCHITECTE DE DONNÉES - expert SGBDR et langage SQL
    Le site sur les SGBD relationnels et le langage SQL: http://sqlpro.developpez.com/
    Blog SQL, SQL Server, SGBDR : http://blog.developpez.com/sqlpro
    Expert Microsoft SQL Server - M.V.P. (Most valuable Professional) MS Corp.
    Entreprise SQL SPOT : modélisation, conseils, audit, optimisation, formation...
    * * * * * Expertise SQL Server : http://mssqlserver.fr/ * * * * *

  4. #4
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Tout dépend de ta source de données.

    Table SQL Server 2000 : INSERT INTO TABLE (...) SELECT ... FROM TABLE2 WHERE CLAUSES

    Fichier texte type csv : importation via BCP en ligne de commande

    Il faut que tu précises plus ton besoin afin d'avoir des réponses claires.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    14
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 14
    Par défaut
    Mon tableau est un tableau en mémoire de mon application du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    int Tableau [5][700]
    je remplis les lignes une par une avec des données que je collecte et j'insère les données en fin de collecte dans la base SQL.

  6. #6
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    356
    Détails du profil
    Informations personnelles :
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations forums :
    Inscription : Mai 2007
    Messages : 356
    Par défaut
    Je pense qu'il n'ya pas d'autres méthodes que celle que tu utilises pour faire les insertions directement.
    Mais ton tableau mémoire est rempli à partir d'une source d'informations. Peux tu me dire d'où viennent ces données. A partir de là, je pourrai voir s'il n' y a pas une autre méthode.

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

Discussions similaires

  1. [PHP Excel] Meilleure méthode pour créer un grand nombre de feuille ?
    Par sunshine33 dans le forum Bibliothèques et frameworks
    Réponses: 0
    Dernier message: 16/04/2010, 10h07
  2. Meilleure méthode pour comparer 2 grandes listes
    Par 4Ur3L dans le forum Général Python
    Réponses: 4
    Dernier message: 07/04/2010, 19h55
  3. Méthode pour construire un grand nombre de picture box!
    Par NejNej dans le forum Windows Forms
    Réponses: 3
    Dernier message: 23/09/2009, 14h30
  4. Meilleur méthode pour stocker mes données
    Par cyberlewis dans le forum Windows
    Réponses: 6
    Dernier message: 03/07/2004, 11h53
  5. Réponses: 3
    Dernier message: 24/06/2004, 11h23

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