6

5 つの属性と 1000 行の単純な小さなテーブルに挿入しています。

エンジンが INNODB の場合、各挿入に 0.03 ~ 0.05 秒かかっていることがわかりました。エンジンをMYISAMに変えたらインサートが速くなりました。0.001 - 0.003 を取っています。

何が問題ですか。デフォルトでは innodb_flush_log_trx_commit = 1 です。私はそのままこの設定でした。これが私のinnodb設定です。

innodb_log_buffer_size : 1MB
innodb_log_file_size   : 5MB
innodb_buffer_pool_size: 8MB
innodb_flush_log_trx_commit = 1

これで何が問題なのかわかりませんでした。前もって感謝します。よろしく、UDAY

4

1 に答える 1

3

innodb_flush_log_at_trx_commit = 1 は、各トランザクションがログ バッファーに書き込まれることを意味します。

パフォーマンスを向上させるには 0 に設定するか、1 つのトランザクション内ですべての挿入を実行してみてください (最後にコミットすることを忘れないでください)。

innodb_flush_log_at_trx_commit およびその他の変数の詳細については、http: //dev.mysql.com/doc/refman/4.1/en/innodb-parameters.html を参照してください。

于 2012-04-25T10:33:28.420 に答える