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

MySQL Discussion :

10000 * loop {insert ligne}


Sujet :

MySQL

  1. #1
    Membre régulier
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 84
    Points
    84
    Par défaut 10000 * loop {insert ligne}
    Bonjour,
    Je travail a une application qui insère un grand nombre de lignes (des milliers) dans une base de données MySql, et en utilisant PHP, l'exécution ne stoppe pas et contenu jusqu'à dépasser le tempe dédié.
    En plus le résultat est un double ou un triple des instances comme si je l'ai exécuté 2 ou 3 fois (ou plus a son gré!).
    Au niveau de code, tous mes essayes ont échoué, j'ai utilise plusieurs techniques pour ne pas permettre au code de répéter l'exécution, en fin je pense qu'il s'agit d'un problème de base de données, surtout que dans le cas de petit nombre des ligne insérés tous marche bien!.
    la question mnt, quelle directives je dois changer en mysql ou en php pour pallier a ce problème

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 277
    Points : 11 733
    Points
    11 733
    Par défaut
    D'où proviennent les lignes que tu insères ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre régulier
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 84
    Points
    84
    Par défaut
    Merci Antoun
    Les ligne sont générés a partir d'un formulaire, je remplis les attribut d'une message qui va être envoyée a un nombre des numero portables,
    la page destination du formulaire extrait ces numero de la base de données en fonctions des groupes que j'ai indique par le formulaire, puis ces numero sont envoyés dans un tableau a un objet qui boucle sur ce tableau et inerte dans un table de la base toutes les messages générées,

    ne te casse la tête avec ces détailles, car lors que j'ai exécuté cette page :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    <?php
    ini_set("memory_limit","100M");
    ini_set('max_execution_time', 1000);
    include ("inc_info.php");
    	$host     = DB_HOST2   ;
    	$username = DB_USER2     ;
    	$password = DB_PASS2 ;
    	$db_name  = DB_SELECT2     ;
     
    	$connjawalna     = mysql_connect($host,$username,$password);
    	$db		  = mysql_select_db($db_name,$connjawalna);
     
    	if(!$connjawalna){die('Sorry : can not connect to the server')  ; }
    	if(!$db)  {die('sorry : can not select to the database') ; }
     $i=0;
     while ($i<20000){
     $sqlTest="insert into test (signal) values (\"$i\")";
    		$sid=mysql_query($sqlTest,$connjawalna) or die($sqlTest);
     $i++;
     } ?>
    le résultat etaie

    c'est claire que la base de données ne supporte pas un grand nombre de données, et a un point déterminé apparaît des erreurs, comme si la memoire dédiée n'était pas suffisant.
    il me semble que quand la mémoire dédiée au données se remplit d'autre données de fonctionnement sont détruite, c'est possible ça?

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 277
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 277
    Points : 11 733
    Points
    11 733
    Par défaut
    euh... désolé, mais je n'ai absolument rien compris à ton explication, ni à ta copie écran...

    Bon, je vais te dire là où je voulais en venir. Si les données viennent d'une autre table, il faut les passer directement d'une table à l'autre par un INSERT... SELECT. Si elles viennent d'un fichier, le plus efficace est un LOAD DATA INFILE... Dans tous les cas, il faut faire des traitement de masse et éviter de faire des procédures où chaque ligne génère une requête, parce que c'est beaucoup plus long.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Membre régulier
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    146
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 146
    Points : 84
    Points
    84
    Par défaut
    Merci Anton,
    et désolé car je ne pouvais pas te transiter l'information d'une façon plus claire, mais en résumé ma problème était que l'exécution lords des raquettes sql sous Zend Core a résulté en insérer des données erronées, la chose qui ma fais vraiment fol, en tous cas j'ai installe Wamp , et tous marche bien mnt, je me demande juste si Wamp est suffisant pour servir une telle application.

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

Discussions similaires

  1. [VBA-E]Insertion ligne avec Recopie Formule
    Par nono le golfeur dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 17/01/2007, 15h02
  2. VBA-Excel:Présentation d'un tableau (insertion ligne de légende)
    Par gabrielle_dl dans le forum Macros et VBA Excel
    Réponses: 20
    Dernier message: 15/06/2006, 12h11
  3. [Excel VB] Insertion ligne avec formules
    Par ptitsoleil87 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 22/12/2005, 17h21
  4. Insertion lignes
    Par Isa31 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 11/05/2005, 11h32
  5. Pb procedure insertion ligne
    Par richton95 dans le forum Oracle
    Réponses: 3
    Dernier message: 17/03/2005, 22h01

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