ホームページ  >  記事  >  バックエンド開発  >  THINKPHP の addAll でサポートされる最大データ量の簡単な分析、thinkphpaddall_PHP チュートリアル

THINKPHP の addAll でサポートされる最大データ量の簡単な分析、thinkphpaddall_PHP チュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:07:54674ブラウズ

THINKPHP の addAll、thinkphpaddall でサポートされる最大データ量の簡単な分析

Thinkphpのモデル操作にはadd()とaddAllの2つのメソッドがあります

コードをコピーします コードは次のとおりです:

$User = M("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);

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 ステートメントの長さが制限されるためです。mysql 設定で長くなるように設定するだけです。

max_allowed_pa​​cket = 100M

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

この記事の内容は以上です。気に入っていただければ幸いです。

http://www.bkjia.com/PHPjc/953156.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/953156.html技術記事 THINKPHP の addAll、thinkphpaddall でサポートされるデータの最大量の簡単な分析 Thinkphp には、add() と addAll という 2 つのメソッドがあります。次のようにコードをコピーします。 $User = M("User");う...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。