Thinkphp のモデル操作には、add() と addAll の 2 つのメソッドがあります
リーリー
addAll メソッドはデータをバッチで追加できます。これが MySQL の使用方法です。
リーリー
大量のデータがある場合は、項目を 1 つずつループで挿入するのではなく、バッチで挿入するようにしてください。そうしないと、データベースが負荷を感じてハングアップします。
ただし、それを当然のこととして考え、すべてのデータを配列に保存して addAll を実行すると、ハングアップの状況に直面することになります。これはなぜでしょうか。
その理由は、mysql の max_allowed_packet 変数の設定により、アップロード SQL ステートメントの長さが制限されるためです。mysql 設定でより大きくなるように設定するだけです
。
リーリー
同時に、データを挿入するときに、バッチ挿入の長さも制限します。結局のところ、データがいつ数百万になるかはわかりません。
上記は、THINKPHP の addAll がサポートする最大データ量を、関連する内容も含めて紹介しています。PHP チュートリアルに興味のある友人の参考になれば幸いです。