Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

PREPARE

フォーカスモード
PREPARE - Amazon Redshift

実行用のステートメントを準備します。

PREPARE によって、準備済みステートメントが作成されます。PREPARE ステートメントを実行すると、指定されたステートメント (SELECT、INSERT、UPDATE、または DELETE) が解析、再出力、および計画されます。準備済みステートメントに対して EXECUTE コマンドを発行すると、Amazon Redshift は (指定したパラメータ値に基づいてパフォーマンスを改善するように) 必要に応じてクエリ実行計画を修正してから、その準備済みステートメントを実行することがあります。

構文

PREPARE plan_name [ (datatype [, ...] ) ] AS statement

パラメータ

plan_name

この特定の準備済みステートメントに付けられた任意の名前。この名前は単一セッション内で一意でなければならず、以降は事前に準備済みのステートメントの実行、またはその割当解除に使われます。

datatype

準備済みステートメントに対するパラメータのデータ型。準備済みステートメント自体のパラメータを参照するには、$1、$2 など (最大 $32767) を使用します。

statement

SELECT、INSERT、UPDATE または DELETE の任意のステートメント。

使用に関する注意事項

準備済みステートメントでは、パラメータ (ステートメントの実行時にステートメントに代入される値) を使用できます。準備済みステートメントにパラメータを含めるには、PREPARE ステートメントにデータ型のリストを提供し、準備するステートメント自体で、$1、$2 などの表記を使って位置によりパラメータを参照します。パラメータの最大数は 32767 です。このステートメントを実行する際に、EXECUTE ステートメントでこれらのパラメータの実際の値を指定します。詳細については、「EXECUTE」を参照してください。

準備済みステートメントは、現在のセッションの有効期間中のみ有効です。セッションが終了すると、準備済みステートメントは破棄されるため、再使用する場合は、作り直す必要があります。これは、単一の準備済みステートメントを複数の同時データベースクライアントで使用することはできないことも意味します。ただし、各クライアントは独自の準備済みステートメントを作成して使用することができます。準備済みステートメントは、DEALLOCATE コマンドを使って、手動で削除できます。

単一のセッションを使用して多数の類似したステートメントを実行する場合に、準備済みステートメントは、パフォーマンス面での最大のメリットをもたらします。前述したように、準備済みステートメントを新たに実行するたびに、Amazon Redshift は指定されたパラメータ値に基づいてパフォーマンスを向上させるため、クエリの実行計画を修正することがあります。Amazon Redshift が特定の EXECUTE ステートメントに選択したクエリ実行計画を確認するには、EXPLAIN コマンドを使用します。

クエリの計画と、クエリの最適化のために Amazon Redshift が収集した統計情報の詳細については、「ANALYZE コマンド」を参照してください。

一時テーブルを作成し、INSERT ステートメントを準備した上でそれを実行します。

DROP TABLE IF EXISTS prep1; CREATE TABLE prep1 (c1 int, c2 char(20)); PREPARE prep_insert_plan (int, char) AS insert into prep1 values ($1, $2); EXECUTE prep_insert_plan (1, 'one'); EXECUTE prep_insert_plan (2, 'two'); EXECUTE prep_insert_plan (3, 'three'); DEALLOCATE prep_insert_plan;

SELECT ステートメントを準備して実行します。

PREPARE prep_select_plan (int) AS select * from prep1 where c1 = $1; EXECUTE prep_select_plan (2); EXECUTE prep_select_plan (3); DEALLOCATE prep_select_plan;

以下の資料も参照してください。

DEALLOCATE, EXECUTE

プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.