ADO.NET Provider for Adobe Analytics

Build 24.0.8963

CACHE ステートメント

キャッシュが有効な場合、CACHE ステートメントを使用すると、キャッシュ対象のデータとキャッシュ先のテーブルを制御することができます。CACHE ステートメントでは、指定されたSELECT ステートメントが実行され、その結果がキャッシュデータベース内の同じ名前のテーブルまたは<cached_table_name> で指定されたテーブルにキャッシュされます。本製品 では、キャッシュ内に行が存在すれば更新され、存在しなければ行が挿入されます。このため、選択するカラムには、既存の行の識別に使用される主キーが含まれている必要があります。

さまざまなキャッシュストラテジーについての詳細は、データのキャッシュ を参照してください。

CACHE ステートメント構文

CACHE ステートメントには、その動作を変更する次のオプションを含めることができます。

CACHE [ <cached_table_name> ] [ WITH TRUNCATE | AUTOCOMMIT | SCHEMA ONLY | DROP EXISTING | ALTER SCHEMA ] <select_statement> 

WITH TRUNCATE

WITH TRUNCATE オプションを設定すると、本製品 は選択した行が追加される前に、キャッシュテーブルから既存の行を削除します。このオプションは、キャッシュテーブル全体をリフレッシュし、既存のスキーマは維持する場合に使用します。

AUTOCOMMIT

AUTOCOMMIT オプションを設定すると、本製品 は各行を個別にコミットします。このオプションは、何らかの理由でキャッシュできなかった行を無視する場合に使用します。デフォルトでは、結果セット全体が1つのトランザクションとしてキャッシュされます。

DROP EXISTING

DROP EXISTING オプションを設定すると、本製品 は新しい結果がキャッシュされる前に、既存のキャッシュテーブルを削除します。このオプションは、キャッシュテーブル全体をスキーマを含めてリフレッシュする場合に使用します。

SCHEMA ONLY

SCHEMA ONLY オプションを設定すると、本製品 はキャッシュテーブルをSELECT ステートメントに基づいて作成しますが、クエリは実行されません。

ALTER SCHEMA

ALTER SCHEMA オプションを設定すると、本製品 はキャッシュ内にある既存のテーブルのスキーマがSELECT ステートメントのスキーマと一致しない場合に、そのスキーマを変更します。このオプションを指定すると、キャッシュテーブルとSELECT ステートメントのスキーマが一致しない場合に、新しいカラムが作成されるか、カラムが削除されます。

一般的なクエリ

次のCACHE ステートメントを使用すると、テーブルのすべての行がキャッシュされます。

CACHE SELECT * FROM SampleTable_1

次のCACHE ステートメントを使用すると、テーブルのすべての行がキャッシュテーブルCachedSampleTable_1 にキャッシュされます。

CACHE CachedSampleTable_1 SELECT * FROM SampleTable_1

次のCACHE ステートメントを使用すると、インクリメンタルキャッシュが行われます。DateModified カラムは、すべてのテーブルに存在するわけではありません。キャッシュステートメントは、DateModified カラムがある場合に、インクリメンタルキャッシュがどのように実行されるかを示しています。また、この場合、WITH TRUNCATE およびDROP EXISTING オプションは特に除外されているため、既存の行がすべて削除されます。

CACHE CachedSampleTable_1 SELECT * FROM SampleTable_1 WHERE DateModified > '2013-04-04'

次のCACHE ステートメントは、使用可能なカラムをすべて含むテーブルを作成し、その後いくつかのカラムのみをキャッシュする場合に使用します。一連のステートメントでは、キャッシュテーブルCachedSampleTable_1 にSampleTable_1 内のカラムがすべて含まれている場合でも、Id とColumn1 のみがキャッシュされます。

CACHE CachedSampleTable_1 SCHEMA ONLY SELECT * FROM SampleTable_1
CACHE CachedSampleTable_1 SELECT Id, Column1 FROM SampleTable_1

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.8963