Mysqlマルチ挿入ステートメントの使用(1つのINSERTステートメントに複数のレコードを挿入します)。一度に挿入できるレコード数、またはデータサイズ(バイト)に最適な数はありますか?
1391 次
3 に答える
1
制限は行のサイズに制限され、1つの行クエリが制限されます。
サーバーのデフォルトのmax_allowed_packet値は1MBです。サーバーが大きなクエリを処理する必要がある場合(たとえば、大きなBLOB列を操作している場合)、これを増やすことができます。
uはmysql.cnfファイルでそれを定義できます
パラメータは
[mysqld]
max_allowed_packet=16M
またはのように設定
shell> mysql --max_allowed_packet=32M
リンク :
http://dev.mysql.com/doc/refman/5.1/en/packet-too-large.html
于 2009-12-28T14:44:20.337 に答える
0
多いほど楽しい。さまざまな単純な挿入よりも、1つの大規模な挿入を実行する方がはるかに高速です。多くの小さな挿入ではなく、大規模な挿入を行うことで多くのオーバーヘッドを排除します。
于 2009-12-28T18:06:19.697 に答える
0
はいあります。これは、システムおよび設定で許可されている最大値ではありません。
注意深いベンチマークを行うと、行数を増やし続けると、ある時点以降、マルチインサートによるメリットが得られなくなり、徐々にパフォーマンスが低下し始めることがわかります。
最適なものは、システム、設定、およびデータセットによって異なります。ベンチマークを実行すると、最適なサイズを見つけるのに役立ちます。
于 2018-08-22T19:04:29.430 に答える