DB2LUWとDB2zでは同じDB2といっても実装が異なる点が多々ある。
導入・構築方法や運用面でも大きく異なるが、アプリケーションが取得するロックの単位もその1つ。
例えばDB2LUWでは行ロックを基本とするのに対して、DB2zでは表スペース作成時のLOCKSIZEオプションの指定に依存する。省略時値はANYとなり、この場合ページロックと表スペースロックを併用する。
ちなみにDB2LUWにはページロックは存在しない。
ページロックの場合で、1ページに複数行格納されている場合、仮にアクセスしたい行はその中の1行でもページ単位にロックを取得する事になるためページ内の他の行に対してもアクセス不可となりえる。(1ページに何行格納するかはMAXROWSで指定するがデフォルトだと255となる)
以前DB2LUW担当者と会話したとき、「プラットフォームをホストに移したら待ちが発生するようになった」と言われていた。DB2zとは取得するロック単位が異なる為、これが関係していた可能性も考えられる。
よってプラットフォーム変更の際はこの辺の差異も確認の上実装しよう。