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 Procédural MySQL Discussion :

INSERT temps execution


Sujet :

SQL Procédural MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut INSERT temps execution
    Bonjour,

    Je me pose la question si on peut ameliorer le temps d'execution d'une simple requete d'insertion.

    INSERT INTO table(x,y,z) VALUES(10,15,2);

    J'ai execute la requete dans MySQL directement et ca me donne en moyenne 40 ms pour inserer un nouvel enregistrement dans la table.

    Peut-on ameliorer ce temps d'execution parce qu'il ne serait pas rare que je doive inserer plusieurs milliers d'enregistrements.

    Merci

    Christian

  2. #2
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Ben un INSERT est un INSERT je voit pas comment on pourrai reduire le temps...

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut Insert
    Dommage que MySQL ne soit pas aussi performante a l'insertion de nouveaux enregistrements. Le temps d'execution des requetes Select semble tres satisfaisant.

    Je me trouve alors dans une impasse a present :-(

    Merci

    Christian

  4. #4
    Membre Expert
    Homme Profil pro
    Architecte de système d'information
    Inscrit en
    Juillet 2004
    Messages
    2 725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 725
    Par défaut
    Mais je comprend pas, pourquoi a tu a faire des milliers d'INSERT?
    Si tu nous explique un peu on pourra peut etre voir a trouve une solution...

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 7
    Par défaut
    J'ai une application ecrit en C# qui communique avec un serveur SQL. Une des tables de la base de donnees contient un champs commentaires (chaine de caracteres). Je n'entrerai pas dans les details, mais je peux resumer le systeme... La table contient des enregistrements de comptes usagers et je peux en avoir plusieurs milliers d'usagers. Une des fonctions particulieres de l'application permet d'enregistrer des commentaires specifiques a un usager. Mais je peux enregistrer le meme commentaire a plusieurs usagers en envoyant plusieurs requetes INSERT.

    Par exemple, si je selectionne 1500 usagers et je veux enregistrer le commentaire "Allo" a tout ces usagers, alors j'envoie un par un la requete INSERT aux usagers specifiés.

    Voila, j'espere que vous comprenez ce que j'essaie de faire.

    Merci

    Christian

  6. #6
    Membre éprouvé
    Profil pro
    Administrateur de base de données
    Inscrit en
    Juillet 2003
    Messages
    94
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juillet 2003
    Messages : 94
    Par défaut
    Bonjour,

    INSERT INTO table(x,y,z) VALUES(10,15,2), (20,21,22), (30,31,32), ... (Xi,Xj,Xk) est déjà plus rapide

    Autre solution : Passer par les méthodes addBatch et executeBatch
    1) addBatch permet d'ajouter les INSERTS à 1 Statement
    (instanciè par createStatement appliqué sur 1 connexion)
    2) executeBatch lance ces inserts en 1 seule passe (par conséquent c'est + rapide)

    ça fonctionne en jdbc, on doit trouver l'équivalent en C#

    Cdlt

    Selecta

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

Discussions similaires

  1. [Tuning] Temps execution
    Par Ne0zenith dans le forum Oracle
    Réponses: 26
    Dernier message: 07/08/2006, 14h30
  2. [ methode ] temps execution
    Par hocinema dans le forum API standards et tierces
    Réponses: 13
    Dernier message: 08/09/2005, 11h53
  3. temps execution CreateProcess
    Par dighou dans le forum MFC
    Réponses: 7
    Dernier message: 26/04/2005, 16h18
  4. [MFC] pb temps execution
    Par ricky78 dans le forum MFC
    Réponses: 4
    Dernier message: 21/01/2005, 11h50
  5. Temps execution mysql
    Par azman0101 dans le forum Requêtes
    Réponses: 3
    Dernier message: 16/07/2004, 09h42

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