Maison > développement back-end > tutoriel php > Analyse de la quantité maximale de données prise en charge par addAll de THINKPHP

Analyse de la quantité maximale de données prise en charge par addAll de THINKPHP

不言
Libérer: 2023-03-30 20:22:02
original
1773 Les gens l'ont consulté

Cet article présente principalement la quantité maximale de données prise en charge par addAll de THINKPHP. Les amis qui en ont besoin peuvent s'y référer

Il existe deux méthodes pour le fonctionnement du modèle dans Thinkphp : add() et addAll

 $User = M("User"); // 实例化User对象
 $data['name'] = 'ThinkPHP';
 $data['email'] = 'ThinkPHP@gmail.com';
 $User->add($data);
 $dataList[] = array('name'=>'thinkphp','email'=>'thinkphp@gamil.com');
 $dataList[] = array('name'=>'onethink','email'=>'onethink@gamil.com');
 $User->addAll($dataList);
Copier après la connexion

La méthode addAll peut ajouter des données par lots, c'est ainsi que MySQL est utilisé :

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);
Copier après la connexion

Lorsque la quantité de données est importante, essayez de choisir l'insertion par lots au lieu de les boucler une par une, sinon votre La base de données sera submergée et raccrochera.

Cependant, si vous le prenez pour acquis et stockez toutes les données dans un tableau et effectuez addAll, vous serez également confronté à une situation de blocage. Pourquoi est-ce ?

La raison est que la configuration de la variable max_allowed_packet dans MySQL limite la longueur de l'instruction SQL de téléchargement. Configurez-la simplement plus grande dans la configuration MySQL

max_allowed_packet = 100M

Dans le même temps, lors de l'insertion de données, limitez également la durée de l'insertion par lots. Après tout, vous ne savez jamais quand les données deviendront des millions.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère qu'il sera utile à l'étude de chacun. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !

Recommandations associées :

Le framework ThinkPHP3.2 utilise addAll() pour insérer des données par lots

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