Unofficial Db2 FAQ

DB2のロックの方式はOracleやMySQLと違うのですか?

Db2は以前のバージョンでは、更新トランザクションが更新データ(行)ロックすることで、他トランザクションの読み取りをブロックし、整合性を維持する方法のみ利用可能でした。そのためOracleやMySQLのMVCCとは考え方が異なっていました。

一方で、DB2 v9.7からは「CS with CC」とよばれる機能が追加され、分離レベルCSで稼動しているときは、ロック開放を待たずに(ロックウェイトせずに)コミット済みの(確定済みの)データを戻すという動作を実現可能であり、これはMVCC的と言えるでしょう。以下を参照してください。