例: DELETEおよびNoPIテーブル - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLデータ操作言語

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
Published
2021年1月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/vnq1596660420420.ditamap
dita:ditavalPath
ja-JP/vnq1596660420420.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

以下の例は、このNoPIテーブル定義に基づいています。

     CREATE TABLE new_sales,
     FALLBACK (
       item_nbr   INTEGER NOT NULL,
       sale_date  DATE FORMAT 'MM/DD/YYYY' NOT NULL,
       item_count INTEGER)
     NO PRIMARY INDEX;

new_salesにはプライマリ インデックスもセカンダリ インデックスもないため、以下のDELETE文では、フル テーブル スキャンが必要です。

     DELETE FROM new_sales
     WHERE item_nbr = 100;

以下のDELETE文が暗黙的トランザクションとしてTeradataセッション モードで実行依頼される場合、DELETE文は高速パス削除処理を使用します。

     DELETE FROM new_sales;

以下のDELETE文が単一のリクエストとしてTeradataセッション モードで実行依頼されるとき、DELETE文は高速パス削除処理を使用します。

     BEGIN TRANSACTION
     ;DELETE FROM new_sales
     ;END TRANSACTION;

以下の単文リクエストがTeradataセッション モードで実行されたとします。

     BEGIN TRANSACTION;

以下のDELETE文が複文リクエストでEND TRANSACTION文と一緒に実行されるとき、DELETE文は高速パス削除処理を使用します。

     DELETE FROM new_sales
     ;END TRANSACTION;

以下のDELETE文が複文リクエストでANSIモードでCOMMIT文と一緒に実行依頼されるとき、DELETE文は高速パス削除処理を使用します。

     DELETE FROM new_sales
     ;COMMIT;