トランザクションの範囲を小さくする。 システム全体でリソースのアクセス順を同じにする。 A/B/CのリソースがあってP1とP2のプロセスが P1 A→C P2 B→C のようにアクセスすればデッドロックは起きなくなる。 リソースのことを「表」だけだと思うのは間違いである。 表のほかに、インデックス、外部キー、行もリソースの1つである。 外部キー(Foreign Key) 表Aに表Bへの外部キーが定義してある場合 表Aへの行のinsertは表Bのロックも発生する。 低レベルロック 行ロック(Row Level Lock/RLL)とページレベルロックの2種類ある。 DB2ではページレベルロックはないみたい。 行ロック リソースのアクセス順の話しで、ほとんどの人は表のアクセス順で思考停止している。 それぞれの行もリソースの1つになる。 1つの表を2つのトランザクションが複数の行を別の順に更新する