ホームページ > バックエンド開発 > PHPチュートリアル > THINKPHPのaddAllがサポートする最大データ量の分析

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

不言
リリース: 2023-03-30 20:22:02
オリジナル
1781 人が閲覧しました

この記事では、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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート