Maison >développement back-end >Problème PHP >Comment importer rapidement de grandes quantités de données en php

Comment importer rapidement de grandes quantités de données en php

王林
王林original
2019-09-21 17:58:513488parcourir

Comment importer rapidement de grandes quantités de données en php

Comment importer rapidement de grandes quantités de données dans la base de données avec PHP

La première méthode : utiliser insert into, le code est la suivante :

$params = array(‘value'=>'50′);

set_time_limit(0);

echo date(“H:i:s”);

for($i=0;$i<2000000;$i++){

$connect_mysql->insert($params);

};
echo date(“H:i:s”);

Le dernier affichage est : 23:25:05 01:32:05, ce qui signifie que cela a pris plus de 2 heures !

Le deuxième méthode : utiliser la soumission de transaction, l'heure finale affichée pour l'insertion du lot dans la base de données (soumise tous les 10 éléments) est : 22:56:13 23:04:00, soit un total de 8 minutes et 13 secondes. Le code est le suivant :

echo date(“H:i:s”);

$connect_mysql->query(‘BEGIN&#39;);

$params = array(‘value&#39;=>&#39;50′);

for($i=0;$i<2000000;$i++){

$connect_mysql->insert($params);

if($i%100000==0){

$connect_mysql->query(‘COMMIT&#39;);

$connect_mysql->query(‘BEGIN&#39;);

}

}

$connect_mysql->query(‘COMMIT&#39;);

echo date(“H:i:s”);

Troisième méthode : utilisez des instructions SQL optimisées

pour fusionner les instructions SQL, utilisez insert into table () values  (),(),(),() puis insérez-les toutes en même temps si la chaîne. est trop long, vous devez configurer MYSQL,

Exécuter dans la ligne de commande mysql :

set global max_allowed_packet =  2*1024*1024*10;

Le temps consommé est : 11:24:06 11:25:06;

Il n'a fallu qu'une minute pour insérer 2 millions de données de test ! Codez comme suit :

$sql= “insert into twenty_million (value) values”;

for($i=0;$i<2000000;$i++){

$sql.=”(&#39;50′),”;

};

$sql = substr($sql,0,strlen($sql)-1);

$connect_mysql->query($sql);

Résumé : lors de l'insertion de gros lots de données, la première méthode est sans aucun doute la pire, tandis que la deuxième méthode l'est. plus largement utilisée dans les applications pratiques, et la troisième méthode est plus efficace dans l'insertion. Elle est plus adaptée aux données de test ou à d'autres exigences faibles, et la vitesse est vraiment rapide.

Tutoriel recommandé : Tutoriel vidéo PHP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn