Oracleでpgとテーブルロックに違いはありますか
する
select * from emp for update;
結果はテーブルロック?
と
select * from emp where deptno=10 for update;
ページロックが発生しますか?
Oracleでpgとテーブルロックに違いはありますか
する
select * from emp for update;
結果はテーブルロック?
と
select * from emp where deptno=10 for update;
ページロックが発生しますか?
Oracle にはページ ロックのようなものはありません。Oracle には、行レベルのロックとテーブル レベルのロックがあります。
これらのステートメントはどちらも、クエリが返すすべての行に対して行レベルのロックを作成します。EMP
1つ目は、問合せが実行されたSCNの時点で表にあったすべての行に行レベルのロックを作成します。2 つ目は、クエリが実行された SCN の時点で 10のEMP
テーブルにあったすべての行に行レベルのロックを作成します。DEPTNO
どちらのクエリもテーブルに共有ロックを作成し、他のセッションがテーブルで DDL を実行できないようにしますが、テーブル ロックについて話しているときに、それが話題になることはめったにありません。