DMLリクエストとロック - Teradata Database - Teradata Vantage NewSQL Engine

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

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/arh1512079329802.ditamap
dita:ditavalPath
ja-JP/arh1512079329802.ditaval
dita:id
B035-1142
Product Category
Software
Teradata Vantage

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ロックが必要です。ただし、これは、修正される基本テーブルの列も ハッシュ インデックスまたは結合インデックスに定義されている場合に限ります。