2 つのトランザクションがあるとします。
T1 - READ_COMMITTED 分離レベルの Table1 などのテーブルに書き込む大量のデータ クランチ ジョブ。T2 - SERIALIZABLE 分離レベルで Table1 からデータを読み取るトランザクション。
表 1 スキーマ
autoincrement_id(INT) データ(varchar)
T1 (READ_COMMITTED)
INSERT INTO Table1.. INSERT INTO Table1.. INSERT INTO Table1.. INSERT INTO Table1..
T2 (シリアライズ可能)
SELECT * FROM Table1 WHERE autoincrement_id > x; --何かをする
T2 が T1 の前に開始すると、事実上 T1 が停止します (正しいですか?)
しかし、T1 が T2 の前に開始され、T2 の間も進行中の場合、T2 は挿入されたが T1 によってコミットされなかったデータを読み取るでしょうか?