begin process at 2012 05 30 19:22:46
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

Insertion massive MYSQL


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Insertion massive MYSQL

mercredi 18 novembre 2009 à 16:07:44 | Insertion massive MYSQL

lord1366

Bonjour,

Dans mon application, j'ai besoin d'insérer environ 100 000 enregistrements

J'ai fais des tests et mon script de base dont voici un exemple :

for($i=0;$i<=100000;$i++)
{
$Req = "INSERT INTO neoretis.neoretis_clients (`nom`, `prenom`, `sexe`, `portable`, `email`, `statut`, `cp`, `id_entreprise`) VALUES ( 'mon nom', 'mon prenom', '1', '00000000', 'email', 1, '13000', 58)";

mysql_query($Req);
}

je voudrais savoir si il est préferable de faire comme ça ou bien s'il faut faire :

$Req = "INSERT INTO neoretis.neoretis_clients (`nom`, `prenom`, `sexe`, `portable`, `email`, `statut`, `cp`, `id_entreprise`) VALUES ";

for($i=0;$i<=100000;$i++)
{
$Req .= "( 'mon nom', 'mon prenom', '1', '00000000', 'email', 1, '13000', 58),";


}

mysql_query(trim($Req,","));

NB : le script est directement exécuter sur le serveur unix via php cli

Merci pour votre aide.
mercredi 18 novembre 2009 à 22:06:20 | Re : Insertion massive MYSQL

phpAnonyme

Salut,

L'insertion de 100000 données identiques

Bref, ta deuxième solution...je pense pas quelle soit si bonne que ça d'autant que dans l'esprit ça ne change rien!

Par contre, je conseillerais la boucle while car sensiblement plus rapide que for !
Code PHP :
$i=0;
while($i<=100000) 
{ 
$Req = "INSERT INTO neoretis.neoretis_clients (`nom`, `prenom`, `sexe`, `portable`, `email`, `statut`, `cp`, `id_entreprise`) VALUES ( 'mon nom', 'mon prenom', '1', '00000000', 'email', 1, '13000', 58)"; 
mysql_query($Req); 
$i++;
}


Test du chi2
jeudi 19 novembre 2009 à 08:38:58 | Re : Insertion massive MYSQL

syndrael

Alors d'une je ferai un test en mettant des timers au début et à la fin de son script. Secondo, même si je ne vois pas l'intéret d'une telle boucle je définirai tes colonnes avec une valeur par défaut et je bouclerai sur 'insert .. values()'
Mais devant une telle question, je remonterai un peu en amont sur ma réflexion sur le pourquoi du comment. surtout si ça peut t'évider de faire un tel insert et te permettre de gagner du temps.
S.
samedi 21 novembre 2009 à 19:43:36 | Re : Insertion massive MYSQL

lord1366

Merci pour vos réponses,

Les enregistrements ne sont pas identiques, c'est en fait une insertion de clients pour des campagnes SMS, du coup il se peut qu'un client possède un fichier clients de plus de 10 000 enregistrements et donc chaque campagne pourrait contenir 10 000 enregistrement, d'où ma question.

Merci.


Cette discussion est classée dans : req, mysql, email, prenom, neoretis


Répondre à ce message

Sujets en rapport avec ce message

formulaire html, base de données MySQL , mail par php [ par a_sophie ] Voilà, j'ai nune base de données sous MySQL, un formulaire html où une fois les champs remplis devront aller ds la base. Par contre par la suite je de page Php+ Mysql qui galère [ par felix_12 ] Voila, cela fait quelques heures que je galère ssur ce petit code de rien du toutr qui ne marche pas , il n'affiche aucune erreur mais il najoute pas Allez chercher un champ dans une enregistrement... [ par spike911 ] Bonjours, J'ai un petit problème avec l'une de mes requête MySQL, je veu mettre le champs Email de l'enregistrement qui conrespond a la section utilis Problemes d'accents [ par Johandev35 ] Bonjour ! j'ai un petit probleme! Je compte sur votre aide pour pouvoir m'aider a le résoudre ! Voila, j'ai une application en PHP/Mysql et un annuair prob d'enregistrement dans base de donnée [ par marin123 ] Bonjour,J'ai fait ce formulaire en html                 & afficher age compris entre 2 valeur grace a une base sql help [ par guigui2mars ] hello voila je veux pouvoir grace a une date de naissance qui est inscrite dans la bas de donnée arrivé a afficher l'intervalle d'age ( ex 18 - 25 ans Mettre sur 3 colonnes [ par chris81 ] bonjour comment faire pour que le resultat de ma requete se mette sur 3 colonnes <? require ("config.php"); $db1 = mysql_connect("$host"," probleme avec mes sessions! [ par drmatox ] bonjour a vous, je suis trankillement installer dans mon fauteuil et je commence mon script de session, bon bien sur c'est pas simple mais on a connu Formulere Repeter [ par fireuo ] Bonjour, je vien de commencer le php et jai commencer les bases de donnees du meme coup. Jai fait un system d'identification basique mais j'ai un prob envoyer email en meme temps qu'un formulaire dans mysql [ par dannyl ] Bonjours j'ai un un page ou jai un formulaire (le formulaire envoie les information dans une base de donner mysql), j'aimerai que quand le formulaire


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,203 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales