Teradata Databaseは、DMLリクエストを処理するときに、行ハッシュ値にREADロックを設定する内部の高速リクエスト トランザクションを使用して、データ ディクショナリ テーブルの必要な情報にアクセスします。データが構文解析プログラムに返されると、これらのロックが解放されます。
システムがDMLリクエストに適用するデフォルトのロックを、次のテーブルに示します。
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ロックが必要です。ただし、これは、修正される基本テーブルの列も ハッシュ インデックスまたは結合インデックスに定義されている場合に限ります。 |