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

Requêtes MySQL Discussion :

Time out sur insert multiple


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut Time out sur insert multiple
    Bonjour,

    Dans PhpMyAdmin, je fais passer la requête suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    INSERT INTO cibles 
    (nom , tva, rc, tel, fax, email, prenomContact, nomContact, fonctionContact, telContact, faxContact, gsmContact, emailContact, commentaire) 
    VALUES 
       ('nom1', 'tva1', 'rc1', 'tel1', 'fax1', 'email1', 'prenom1', 'nomCont1', 'fonction1', 'telCont1', 'faxCont1', 'gsmCont1', 'emailCont1', 'comm1'), 
       ('nom2', 'tva2', 'rc2', 'tel2', 'fax2', 'email2', 'prenom2', 'nomCont2', 'fonction2', 'telCont2', 'faxCont2', 'gsmCont2', 'emailCont2', 'comm2'),
       ...
       et ce jusque 10000
    J'obtiens alors le message d'erreur suivant :

    "Fatal error: Maximum execution time of 300 seconds exceeded in C:\wamp\phpmyadmin\libraries\import\sql.php on line 87"

    Je ne trouve pas normal que pour un simple insert, même si il y en a 10000, ça prenne autant de temps.

    Qu'en pensez-vous?

    Merci d'avance pour vos réponses

  2. #2
    Membre éprouvé Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 873
    Par défaut
    Bonsoir.

    Dans le PHPMyAdmin, tu passe par le PHP... qui peut être plutôt lent quand il traite des chaînes de caractères.
    Si tu as accès à ton serveur MySQL, le plus simple est encore d'écrire ta requête dans un fichier (en n'oubliant pas le ; à la fin), et de l'exécuter en ligne de commande:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    path_vers_mysql/mysql -u ton_utilisateur -p ton_mot_de_passe -D ta_base_de_données < ton_fichier_contenant_ta_requête.sql

  3. #3
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    En cherchant, j'ai trouvé qu'il existe le paramètre bulk_insert_buffer_size. Est-ce que celui-ci pourrait avoir une influence sur ma requête et, dans l'affirmative, où se trouve-t-il et quelle valeur lui affecter?

  4. #4
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Merci pour ta réponse...

    Mais justement, c'est parce que j'avais un problème dans mon script php que je suis passé par PhpMyAdmin pour voir ce qu'il se passait...

  5. #5
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Re,

    J'ai effectué ce que tu m'as conseillé, et j'obtiens l'erreur : "ERROR 2006 (HY000) at line 1: MySQL server has gone away"

    Je patauge...

  6. #6
    Membre éprouvé
    Homme Profil pro
    Inscrit en
    Mai 2004
    Messages
    803
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 803
    Par défaut
    Voilà, j'ai résolu mon problème : ça provenait de la configuration de MySql et de la mémoire maximum allouée à une requête.

    J'ai donc ajouté, dans my.ini, au niveau de mysqld, "max_allowed_packet=100M" et tout est ok.

    Merci pour ton aide, car en passant en mode commande, le message obtenu m'a mis sur la piste...

  7. #7
    Membre éprouvé Avatar de kain_tn
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    1 873
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2005
    Messages : 1 873
    Par défaut

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

Discussions similaires

  1. Time-out sur Application
    Par babybell dans le forum Macros et VBA Excel
    Réponses: 55
    Dernier message: 12/05/2009, 10h56
  2. Time out sur connexion à un Socket
    Par melleb dans le forum C#
    Réponses: 11
    Dernier message: 26/05/2008, 11h22
  3. [BCA]Time out sur Oracle
    Par jpclabaux dans le forum Administration-Migration
    Réponses: 5
    Dernier message: 17/10/2007, 15h49
  4. [JNI] Time out sur méthode native
    Par pierre2006 dans le forum Entrée/Sortie
    Réponses: 1
    Dernier message: 17/11/2006, 11h44
  5. SQL Server Time out sur Access
    Par Ronin-MK dans le forum Access
    Réponses: 2
    Dernier message: 14/06/2006, 20h42

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