UPDATE
トランザクションで実行されています-atomic
これは、行の1つが失敗した場合(たとえば、一意の制約のため)、5000行を更新しないことを意味します。これは、トランザクションデータベースのACIDプロパティの1つです。
このため、UPDATE
トランザクション全体ですべての行をロックします。それ以外の場合、別のトランザクションは、現在の値に基づいて行の値をさらに更新できます(たとえば、レコードの更新セット値=値* '2')。このステートメントは、最初のトランザクションがコミットするかロールバックするかによって、異なる結果を生成するはずです。このため、最初のトランザクションが5000回の更新をすべて完了するのを待つ必要があります。
ロックを解除する場合は、(より小さな)バッチで更新を実行するだけです。
P.S. autocommit
各ステートメントが独自のトランザクションで発行されるかどうかを制御しますが、単一のクエリの実行には影響しません