-1

私は以下の行を持つ1つの手順を持っています

if(some condition)
    delete from table1;

レコード数は約 10000 です。

この手順を頻繁に実行しているときに、デッドロックの問題に直面しています。この手順の実行中に、他のセッションが更新/挿入しようとしていると思います。デッドロックを回避するための対処法を教えてください。

4

1 に答える 1

1

まず、テーブルを切り捨てる前にテーブルの排他ロックを解除する TRUNCATE を作成できます。

または、DBMS_Lock を使用して、削除を実行するコードを 1 人のユーザーだけが実行できるようにすることもできます。

最初に前者を試してみます。

于 2013-08-30T14:37:40.717 に答える