高速パスINSERT ... SELECTリクエスト - Teradata Database - Teradata Vantage NewSQL Engine - 高速パスINSERT ... SELECTリクエストの使用方法

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/fbo1512081269404.ditamap
dita:ditavalPath
ja-JP/fbo1512081269404.ditaval
dita:id
B035-1146
Product Category
Software
Teradata Vantage

複文INSERT ... SELECTは最適化されるため、最後のリクエストを除いたそれぞれのリクエストは、応答として「zero row inserted(挿入された行はありません)」のメッセージを返します。各SELECTで検索された行は、空の宛先テーブルに送られます。最後のINSERT ... SELECTリクエストは、リクエスト全体の挿入行の合計数を返し、宛先テーブルにスプール テーブルをソートおよびマージします。

COMPRESSオプションを指定して定義した列が、高速パスの最適化処理に加えられることはありません。そのため、圧縮列に対してINSERT ... SELECT操作を実行しても、最適化ルーチンはアクセス計画を作成するときに、高速パス最適化を指定することはありません。

INSERT ... SELECTパフォーマンスおよびターゲット テーブルの識別列プライマリ インデックス

挿入元のテーブルと宛先テーブルの構造が同じであるような場合に、挿入元のテーブルから宛先テーブルへの直接結合を可能にするためにINSERT ... SELECTが最適化される場合は、パフォーマンスが3倍も低下する可能性があります。これは、宛先テーブルに識別列プライマリ インデックスがある場合に、スプールを実行したり行を再分散させるために、余分のステップを実行する必要があるためです。

高速パスINSERT … SELECTリクエストのルール

高パフォーマンスの高速パスの最適化を複数文リクエストで実現するには、次の制限に従ってください。
  • 宛先テーブルは空でなければなりません。
  • 複文リクエスト内のINSERT文の宛先テーブルは、すべて同じでなければなりません。
  • リクエストには、INSERT文だけを含めることができます。

複文リクエストにその他のタイプの文を挿入すると、高速パスの最適化は行なわれず(一連のINSERT ... SELECT文の最初のものだけが最適化されます)、処理能力が低下します。