INSERT ... ON DUPLICATE KEY UPDATE
InnoDBのAUTO_INCREMENT
の目的では、「混合モード挿入」として説明されています 取り扱い。混合モードの挿入は、基本的に最大の挿入です。 必要なAUTO_INCREMENT
の数 値はわかっていますが、実際に必要になる量 そうではありません。
InnoDBを使用している場合、代替手段は次のとおりです。
-
INSERT ... ON DUPLICATEKEYUPDATEを避けてください
。 -
innodb_autoinc_lock_mode コード>
0
へのパラメータ 、「従来の」自動インクリメントロックモードの場合。これにより、すべてのINSERT
が保証されます。 ステートメントは、AUTO_INCREMENT
に連続した値を割り当てます 列。ただし、これはステートメント中にロックすることで実現されるため、この設定に関連してパフォーマンスが低下します。 - (推奨)
AUTO_INCREMENT
のギャップを無視します 列。
注: AUTO_INCREMENT
この動作を示さないMyISAMでは、処理がまったく異なります。