😎
Django2.0以降のトランザクション分離レベル
書くこと
- Djangoのトランザクション分離レベル
- Djangoのトランザクション分離性
利用バージョン
Django2.0以降
本題
簡潔に
- 別TransactionのCommit前の値は参照しない
- 別TransactionのCommitタイミング次第で値/レコードが変化する
Djangoのトランザクション分離レベル
分離レベル | ダーティリード | ファジーリード | ファントムリード |
---|---|---|---|
READ COMMITTED | FALSE | TRUE | TRUE |
Djangoのトランザクション分離性
分離性 | 説明 |
---|---|
ダーティリード | 別トランザクションでコミット前の値を参照する(してしまう) |
ファジーリード | 複数回の参照で、レコードの値が変わってしまう(別のトランザクションのUpdateに影響) |
ファントムリード | 複数回の参照で、レコード数が増減する(別トランザクションのCreate/Deleteに影響) |
Discussion