3

Mysqlマルチ挿入ステートメントの使用(1つのINSERTステートメントに複数のレコードを挿入します)。一度に挿入できるレコード数、またはデータサイズ(バイト)に最適な数はありますか?

4

3 に答える 3

1

制限は行のサイズに制限され、1つの行クエリが制限されます。

サーバーのデフォルトのmax_allowed_pa​​cket値は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 に答える