タグ付けされた質問 「serialization」

5
PostgreSQLでの同時DELETE / INSERTのロックの問題
これは非常に簡単ですが、PG(v9.0)の機能に困惑しています。簡単な表から始めます。 CREATE TABLE test (id INT PRIMARY KEY); 数行: INSERT INTO TEST VALUES (1); INSERT INTO TEST VALUES (2); お気に入りのJDBCクエリツール(ExecuteQuery)を使用して、2つのセッションウィンドウをこのテーブルが存在するdbに接続します。両方ともトランザクション対応です(つまり、auto-commit = false)。それらをS1およびS2と呼びましょう。 それぞれに同じコードのビット: 1:DELETE FROM test WHERE id=1; 2:INSERT INTO test VALUES (1); 3:COMMIT; 次に、これをスローモーションで実行し、ウィンドウで1つずつ実行します。 S1-1 runs (1 row deleted) S2-1 runs (but is blocked since S1 has a write …

2
SQL Serverのシリアル化可能な分離レベルはテーブル全体をロックしますか
私と私の同僚は、シリアル化可能な分離レベルの使用の影響について説明しました。彼はそれがテーブル全体をロックしたと言いましたが、私は彼にそれが潜在的に可能であると伝えることに同意しませんでしたが、それは範囲ロックを適用しようとし、ここで説明されるように真のシリアライゼーションを適用しません:シリアライズ可能な分離レベル。 「テーブル全体をロックする」のドキュメントでも何も見つかりません:SET TRANSACTION ISOLATION LEVEL。 ドキュメントには範囲ロックに関する多くの事項が記載されているため、理論的には、テーブル内の可能な値の範囲全体をロックする範囲ロックを持つだけでテーブル全体をロックできますが、テーブルはロックされません。 ここで私は完全に間違っていますか?それは実際にテーブル全体をロックしていますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.