自動インクリメント主キー: カウントのギャップについて説明
自動インクリメント主キーがあるにもかかわらず、割り当てられたキーにギャップがあることに気付きました。 ID。行数と最大 ID の間に不一致が生じます。この動作は自動インクリメント メカニズムの固有の側面であり、心配する必要はありません。
その理由を理解するには、2 つの重複するトランザクションを含む次のシナリオを考慮してください。
次に、トランザクション 1 が失敗してロールバックしたとします。この場合、割り当てられたID42は未使用のままとなる。その結果、次に割り当てられる ID は 43 となり、44 のギャップが残ります。
この動作は、同時トランザクションが相互にブロックされずに続行できるようにする安全策です。継続的な ID を強制するには、トランザクションの順次実行が必要となり、スケーラビリティに重大な影響を与える可能性があります。
レコードを削除していない場合でも、自動インクリメント ID のギャップは予期されており、問題を示すものではありません。
以上が自動インクリメントの主キー ID にギャップがあるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。