トランザクションとロック。 成果物 github トランザクション 目的 トランザクションの目的は、データの整合性を保つことである。 たとえば膨大な量のデータを追加・更新・削除するとき。変更中に別のプロセスからデータを取得されると、タイミングによっては整合性が保てなくなる。 あるプロセスP1があるDBDに対して、以下のような変更をしていたとする。 create table T(A int); insert into T values(0); update T set A=1; このときupdate前に、別のプロセスP2からDのデータを取得したとする。これでデータの整合性は壊れた。DBの値は1なのに、プロセスP2では0になってしまう。もしその値が主キーであれば、致命的なバグになりかねない。 そこで整合性を保てるだけの更新処理のまとまりをトランザクションという単位にする。トランザクション中はD