ホームページ  >  記事  >  バックエンド開発  >  THINKPHPのaddAllがサポートする最大データ量の分析

THINKPHPのaddAllがサポートする最大データ量の分析

不言
不言オリジナル
2018-06-08 15:48:511732ブラウズ

この記事では、THINKPHP の addAll がサポートする最大データ量を主に紹介します。必要な方は参考にしてください。

Thinkphp のモデル操作には、add() と 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);
の 2 つのメソッドがあります。

addAll メソッドはバッチでデータを追加できます。これが MySQL の使用方法です:

INSERT INTO tbl_name (a,b,c) VALUES(1,2,3),(4,5,6),(7,8,9);

データの量が大きい場合は、1 つずつループするのではなくバッチ挿入を選択するようにしてください。そうしないと、データベースが圧倒される。

しかし、すべてのデータを配列に格納して addAll を実行すると、当然のこととしてハングアップすることになります。これはなぜでしょうか。

その理由は、mysql の max_allowed_pa​​cket 変数の設定によってアップロード SQL ステートメントの長さが制限されるためです。

max_allowed_pa​​cket = 100M

同時に、データを挿入するときは、バッチ挿入の長さも制限してください。結局のところ、データがいつ数百万になるかわかりません。

上記がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

ThinkPHP3.2 フレームワークは addAll() メソッドを使用してデータをバッチに挿入します

#

以上がTHINKPHPのaddAllがサポートする最大データ量の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。