17.00 - 17.05 - DMLリクエストとロック - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLリクエストおよびトランザクション処理

Product
Advanced SQL Engine
Teradata Database
Release Number
17.00
17.05
Published
2020年6月
Content Type
プログラミング リファレンス
ユーザー ガイド
Publication ID
B035-1142-170K-JPN
Language
日本語 (日本)

Teradata Databaseは、DMLリクエストを処理するときに、行ハッシュ値にREADロックを設定する内部の高速リクエスト トランザクションを使用して、データ ディクショナリ テーブルの必要な情報にアクセスします。データが構文解析プログラムに返されると、これらのロックが解放されます。

システムがDMLリクエストに適用するデフォルトのロックを、次のテーブルに示します。

テーブルでのどの変更も非同期の分離されたロード操作としてロード分離テーブルで実行される場合、Lock Managerは、テーブルのリストにあるものではなく、EXCLUSIVEロックを設定します。
DMLリクエスト 更新された列 選択基準 ロックされるオブジェクト ロッキング重大度
SELECT 適用なし UPIまたはUSI 行ハッシュ READ

指定された列が結合インデックスまたはハッシュ インデックスに含まれている場合、ロック マネージャは結合インデックスまたはハッシュ インデックス全体にREADロックを設定し、基本テーブルにはアクセスしません。

  1組の行 READ

指定された列が結合インデックスまたはハッシュ インデックスに含まれている場合、ロック マネージャは結合インデックスまたはハッシュ インデックスの行のセットにREADロックを設定し、基本テーブルにはアクセスしません。

その他 テーブル READ

SELECTが戦術的な問合わせのとき、そうしなければ操作がブロックされるとき、ロック マネージャはロック リクエストをREADからACCESSに格下げします。

SELECT AND CONSUME 適用なし いずれ 行ハッシュ WRITE
DELETE 

ハッシュまたは結合インデックスのないテーブル

適用なし UPIまたはUSI 行ハッシュ WRITE
NUPI 1組の行
その他 テーブル
DELETE

ハッシュまたは結合インデックスのあるテーブル

適用なし UPIまたはUSI 行ハッシュ WRITE

ハッシュまたは結合インデックスを持つテーブルでの削除には、インデックス テーブルのWRITEロックに加えて、結合インデックスに付随するその他のテーブルのREADロックも必要です。

NUPI 行ハッシュ
その他 テーブル
INSERT … SELECT 適用なし 挿入対象のテーブル
UPIまたはUSI 行ハッシュ READ

ハッシュまたは結合インデックスを持つテーブルでの挿入には、インデックス テーブルのWRITEロックに加えて、結合インデックスに付随するその他のテーブルのREADロックも必要です。

NUPI 行ハッシュ
その他 テーブル
挿入対象のテーブル WRITE
INSERT … [VALUES]

ハッシュまたは結合インデックスのないテーブル

適用なし 適用なし プライマリ行 WRITE
INSERT … [VALUES]

ハッシュまたは結合インデックスのあるテーブル

適用なし 適用なし プライマリ行 WRITE

ハッシュまたは結合インデックスを持つテーブルでの挿入には、インデックス テーブルのWRITEロックに加えて、結合インデックスに付随するその他のテーブルのREADロックも必要です。

UPDATE

ハッシュまたは結合インデックスのないテーブル

UPIでもUSIでもない UPIまたはUSI 行ハッシュ WRITE

結合インデックスまたはハッシュ インデックスを持たないテーブルに更新を実行するには、テーブルに対するWRITEロックが必要です。

NUPIでもUSIでもない NUPI 1組の行
その他 テーブル
USI USI テーブル
UPDATE 

ハッシュまたは結合インデックスのあるテーブル

UPIでもUSIでもない UPIまたはUSI 行ハッシュ WRITE

結合インデックスまたはハッシュ インデックスを持つテーブルに更新を実行するには、そのテーブルに対するWRITEロックとハッシュ インデックスまたは結合インデックス、インデックスに関係する他のテーブルに対するREADロックが必要です。ただし、これは、修正される基本テーブルの列も ハッシュ インデックスまたは結合インデックスに定義されている場合に限ります。

NUPIでもUSIでもない NUPI 1組の行
その他 テーブル
USI USI テーブル
MERGE (更新) UPIでもUSIでもない UPIまたはUSI 行ハッシュ WRITE

マージ処理の結果が更新の場合、MERGEは、マッチング行ハッシュ ロック(MATCH条件で指定されるプライマリ インデックス値に基づく行ハッシュ レベルのロック)を設定します。

NUPIでもUSIでもない NUPI 1組の行
その他 テーブル
USI USI テーブル
MERGE (挿入) 適用なし 適用なし プライマリ行 WRITE

結合インデックスまたはハッシュ インデックスを持つテーブルにMERGE (挿入)を実行するには、ハッシュ インデックスまたは結合インデックスに対するWRITEロックと、インデックスに関係する他のテーブルに対するREADロックが必要です。ただし、これは、修正される基本テーブルの列も ハッシュ インデックスまたは結合インデックスに定義されている場合に限ります。