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

王林
Libérer: 2023-02-24 16:30:02
original
3478 Les gens l'ont consulté

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”);
Copier après la connexion

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”);
Copier après la connexion

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;
Copier après la connexion

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);
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal