sql >> データベース >  >> RDS >> Mysql

空のテーブルで2つの同時削除+挿入ステートメントがデッドロックするのはなぜですか?

    「ギャップ」は、私が削除しようとしている行を誰かが挿入しようとする可能性があることを予期してロックされています。

    または、別の見方をすると...すべての奇妙なケースを完全に処理するには遅すぎます。そのため、InnoDBはほとんどのケースを効率的に処理し、まれな奇妙なケースをパントすることを選択します。

    結論:それと一緒に暮らす。あなたは デッドロックを取得します。必ずしも理解できるとは限りません。ただし、コードを回復する必要があります。ロールバックしてBEGINに戻るだけです。 。




    1. doctrine2DBALでサブクエリに参加する

    2. MySQLパフォーマンスチューニングに関する10の役立つヒント

    3. PostgreSQLの増分バックアップとポイントインタイムリカバリ

    4. IntelliJをローカルMySQLに接続する方法は?