キャッシュテーブル - AWS Clean Rooms

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

キャッシュテーブル

CACHE TABLE コマンドは、既存のテーブルのデータをキャッシュするか、クエリ結果を含む新しいテーブルを作成してキャッシュします。

注記

キャッシュされたデータはクエリ全体で保持されます。

構文、引数、およびいくつかの例は、Apache Spark SQL リファレンスから取得されます。

構文

CACHE TABLE コマンドは、次の 3 つの構文パターンをサポートしています。

AS (括弧なし): クエリ結果に基づいて新しいテーブルを作成してキャッシュします。

CACHE TABLE cache_table_identifier AS query;

AS と括弧の場合: 関数は最初の構文と似ていますが、括弧を使用してクエリを明示的にグループ化します。

CACHE TABLE cache_table_identifier AS ( query );

AS なし: SELECT ステートメントを使用してキャッシュする行をフィルタリングし、既存のテーブルをキャッシュします。

CACHE TABLE cache_table_identifier query;

コードの説明は以下のとおりです。

  • すべてのステートメントはセミコロン (;) で終わる必要があります

  • query は通常、SELECT ステートメントです。

  • クエリを囲む括弧は AS ではオプションです

  • AS キーワードはオプションです

パラメータ

cache_table_identifier

キャッシュされたテーブルの名前。オプションのデータベース名修飾子を含めることができます。

AS

クエリ結果から新しいテーブルを作成してキャッシュするときに使用されるキーワード。

query

キャッシュするデータを定義する SELECT ステートメントまたはその他のクエリ。

次の例では、キャッシュされたテーブルはクエリ全体に対して保持されます。キャッシュ後、cache_table_identifier を参照する後続のクエリは、sourceTable から再計算または読み取りを行うのではなく、キャッシュされたバージョンから読み取ります。これにより、頻繁にアクセスされるデータのクエリパフォーマンスを向上させることができます。

クエリ結果からフィルタリングされたテーブルを作成してキャッシュする

最初の例は、クエリ結果から新しいテーブルを作成してキャッシュする方法を示しています。このコマンドは、SELECTステートメントの周囲に括弧を付けずに ASキーワードを使用します。ステータスがcache_table_identifier「」である「」の行のみを含むsourceTable「」という名前の新しいテーブルが作成されますactive'。クエリを実行し、結果を新しいテーブルに保存し、新しいテーブルの内容をキャッシュします。キャッシュされたデータを使用するには、元の 'sourceTable' は変更されず、後続のクエリは 'cache_table_identifier' を参照する必要があります。

CACHE TABLE cache_table_identifier AS SELECT * FROM sourceTable WHERE status = 'active';

括弧で囲まれた SELECT ステートメントを使用してクエリ結果をキャッシュする

2 番目の例は、SELECTステートメントの周囲に括弧を使用して、クエリの結果を指定された名前 (cache_table_identifier) の新しいテーブルとしてキャッシュする方法を示しています。このコマンドは、ステータスがcache_table_identifier「」である「」の行のみを含むsourceTable「」という名前の新しいテーブルを作成しますactive'。クエリを実行し、結果を新しいテーブルに保存し、新しいテーブルの内容をキャッシュします。元の 'sourceTable' は変更されません。キャッシュされたデータを使用するには、後続のクエリでcache_table_identifier「」を参照する必要があります。

CACHE TABLE cache_table_identifier AS ( SELECT * FROM sourceTable WHERE status = 'active' );

フィルター条件を使用して既存のテーブルをキャッシュする

3 番目の例は、別の構文を使用して既存のテーブルをキャッシュする方法を示しています。この構文は、'AS' キーワードと括弧を省略し、通常、新しいテーブルを作成するのではなく、'cache_table_identifier' という名前の既存のテーブルから指定された行をキャッシュします。SELECT ステートメントは、キャッシュする行を決定するフィルターとして機能します。

注記

この構文の正確な動作は、データベースシステムによって異なります。必ず、特定の AWS サービスに適した構文を確認してください。

CACHE TABLE cache_table_identifier SELECT * FROM sourceTable WHERE status = 'active';