12 時までに sql*plus を使用して友達と一緒に登録したすべての人に宝くじを提供していると考えてください。タイムスタンプを格納する列はなく、各行の名前のリストだけです。人 m1 は、11:59 より前にチケットを挿入してコミットしました。
彼は 11:59 に自分の (行) 詳細の更新を開始し、メイドを宝くじリストに追加します (コミットする必要があるだけです)。m2 を実行する別の人が insert ステートメントを実行し、11:59 に最初の挿入を開始します (自分自身のためだけに) (コミットする必要があるだけです)。2000万行の巨大なテーブルです。
現在12です。これを読み取りコミット分離レベルと考えてください。
抽選バッチが開始され、登録ユーザーが他のテーブルに移動しました。その後 (次のナノ秒の可能性が非常に高い)、m1 と m2 の両方がコミットします。
私の select ステートメントはバッチで m1 のメイドと m2 を宝くじ当選者リストに追加しますか?
応答中は、scn(システム変更番号)、ファントム、反復不可能な読み取りを考慮してください。