派生ビューの変更¶
ALTER TABLE
ステートメントを使用して、派生ビューの以下のプロパティを変更できます。
キャッシュ構成を、パラメータ
CACHE
およびTIMETOLIVEINCACHE
を使用して変更できます (「 キャッシュの使用 」のセクションを参照)。Virtual DataPort のスワップポリシーを、パラメータ
SWAP
、SWAPSIZE
、MAXRESULTSIZE
により設定できます (「 スワップポリシーの構成 」のセクションを参照)。DECLARE CACHE INDEX
でキャッシュインデックスを定義できます。詳細については、管理ガイドの「 キャッシュインデックス 」のセクションを参照してください。DATAMOVEMENTPLAN
により、ビューに定義されたデータ移動プランを変更できます。サブビューの 1 つに複数のデータ移動プランがあり、そのいくつかを変更しないでおく場合は、括弧内を空白のままにします。以下に例を示します。ALTER VIEW test DATAMOVEMENTPLAN = { internet_inc: () (JDBC ds1) }
基本ビューのプライマリキー制約を追加または削除できます (
<add key>
および<drop key>
で定義)。プライマリキーの詳細については、管理ガイドの「 ビューのプライマリキー 」のセクションを参照してください。DELEGATESTATSQUERY
: この値がfalse
の場合、このビューの統計情報を収集するために実行されるクエリは、ソースにプッシュダウンされません。代わりに、Virtual DataPort はすべてのデータを取得し (SELECT * FROM table
を実行)、集計関数をローカルに実行します。この値が true または存在しない場合、可能であればクエリをソースにプッシュダウンします。この値を false に設定するのは、ビューの [Advanced] ウィザードの [Statistics] タブで、[Do not delegate the generation of the statistics] チェックボックスを選択するのと同じことです。このオプションの詳細については、管理ガイドの「 ビューの統計情報の収集 」のセクションを参照してください。CHECK_INDIRECT_ACCESS
: このオプションが値ON
で定義されている場合、ビューのINDIRECT_ACCESS
権限をチェックします (この権限がサーバーレベルで有効な場合のみ)。LAYOUT
: 管理ツールで派生ビューを編集するときに、[Model] タブにビューのサブビューが表示されます。このパラメータは、このタブでのこれらサブビューの位置を設定します。このパラメータが設定されない場合、管理ツールは各サブビューをデフォルトの位置に配置します。インターフェイスビューの場合は、[Implementation] タブで実装ビューの位置を設定します。
注釈
このパラメータがビューの動作に影響することは決してありません。
ビューの名前の変更:
ALTER VIEW <current name:identifier> RENAME <new name:identifier>;
ビューのプライマリキーを追加、変更、削除できます (
<add key>
または<drop key>
で定義)。プライマリキーの詳細については、管理ガイドの「 ビューのプライマリキー 」のセクションを参照してください。フィールドの説明を追加または変更するには、次のように指定します。
ALTER COLUMN <field name:identifier> ADD ( DESCRIPTION = <description:literal> )
例:
ALTER VIEW order ( ALTER COLUMN order_id ADD ( DESCRIPTION = 'Unique identifier of the order' ) );
ALTER VIEW <name:identifier>
[ CACHE {
OFF
| PARTIAL [ EXACT ] [ PRELOAD ]
| FULL
| INVALIDATE [ ON CASCADE ]
[ NOATOMIC [ INVALIDATEBLOCKSIZE <integer> ] ]
[ WHERE <condition> ]
| RECREATE
}
]
[ BATCHSIZEINCACHE { <integer> | DEFAULT } ]
[ TIMETOLIVEINCACHE { <seconds:integer> | DEFAULT | NOEXPIRE } ]
[ SWAP { ON | OFF | DEFAULT } ]
[ SWAPSIZE <megabytes:integer> ]
[ MAXRESULTSIZE <megabytes:integer> ]
[ <table index clause> ]*
[ DATAMOVEMENTPLAN = { <data movement plans> } ]
[ DELEGATESTATSQUERY = <boolean> ]
[ DESCRIPTION = <literal> ]
[ CHECK_INDIRECT_ACCESS { ON | OFF} ]
| ALTER VIEW <name:identifier> RENAME <new_name:identifier>
| ALTER VIEW <name:identifier>
( <alter column clause>+ )
| ALTER VIEW <view:identifier>
LAYOUT ( <subview1:identifier> = <bounds>
[, <subview:identifier> = <bounds> ]* )
<alter column clause> ::=
ALTER COLUMN <field name:identifier> ADD ( DESCRIPTION = <description:literal> )
<table index clause> ::=
DECLARE CACHE INDEX <name:identifier>
ON ( <table index field [ ,<table index field> ]* )
| DELETE CACHE INDEX <name:identifier>
<table index field> :: = <field name:identifier> [ ASC | DESC ]
<data movement plan> ::=
[ <view name:identifier> : <data movement view plans> ]+
<data movement view plans> ::=
<data movement view plan>
| [ ( [ <data movement view plan> ] ) ]+
<data movement view plan> ::=
JDBC <data source name:identifier> | OFF
<bounds> ::=
<x1:int>, <y1:int>, <x2:int>, <y2:int>
キャッシュテーブル作成コマンドのカスタマイズ
Denodo では、キャッシュテーブルの作成に組み込みの SQL ステートメントを使用します。これでほとんどのシナリオに対応できますが、Denodo ではキャッシュテーブルの作成に使用するコマンドをカスタマイズできます。ビューの構成を編集して、このビューのみのカスタムキャッシュテーブル作成テンプレートを設定する必要があります (「 キャッシュテーブル作成テンプレート 」のセクションを参照)。
ALTER VIEW <view_name>
CREATE_TABLE_TEMPLATES (
cache = '<my template definition>'
)
コマンドを実行すると、Denodo ではこのテンプレートを使用してビュー <view_name>
のキャッシュテーブルを作成します。キャッシュテーブルがすでにある場合は、新しいテーブル作成テンプレートを使用して新しいテーブルを取得するように、キャッシュテーブルを再作成する必要があります。「 キャッシュテーブルの再作成 」を参照してください。