キャッシュのインデックス作成
TDVには、キャッシュされたデータにインデックスを作成するためのオプションがいくつかあります。キャッシュからデータのサブセットをフィルタリングして表示するために特定の列が共通に使用される場合、データにインデックスを作成するとパフォーマンスを向上させることができます。インデックスを追加すると、キャッシュ更新のパフォーマンスが低下する可能性がありますが、キャッシュ結果の取得のパフォーマンスは向上する可能性があります。
実装するキャッシュオプションに応じて、さまざまなインデックスオプションを使用できます。
| • | フル リフレッシュ タイプのキャッシュの場合、キャッシュ更新の前後に実行するスクリプトを指定できます。これらのスクリプトのそれぞれに、キャッシュされたデータのインデックスを削除および/または作成するロジックを含めることができます。 |
| • | マルチテーブル オプションを使用するフル リフレッシュ キャッシュの場合、リフレッシュのたびにキャッシュされたデータに自動的にインデックスを付けるように TDV を構成できます。この選択では、キャッシュしているテーブルまたはビューの [インデックス] タブでインデックス定義を指定する必要があります。 |
| • | プルベースの増分キャッシュの場合、増分キャッシュ スクリプトにロジックを追加して、追加のインデックス作成動作を定義できます。 |
| • | インデックス作成を直接サポートしていない TDV キャッシュ オプションの場合、特定のキャッシュ ターゲットで使用可能なデータベース ツールを使用して、キャッシュされたデータに直接インデックスを作成できます。このソリューションでは、キャッシュの更新が発生した後もインデックスが引き続き有効であることを確認するために必要なプロセスを検討する必要がある場合もあります。 |
キャッシュされたビューの結果セット内の特定の列にインデックスを作成すると、パフォーマンスが向上します。TDVには、キャッシュされたデータの開始または更新、およびインデックス作成に使用できるスクリプトまたはプロシージャを定義する機能もあります。
キャッシュキー列を使用すると、キャッシュテーブルに送られるデータをフィルタリングできます。キャッシュキー列は特定のキャッシュスナップショットの一意の値であるため、キャッシュデータにインデックスを作成するカスタムスクリプトを記述する際には、キャッシュキーをインデックスの最初の列にすることをお勧めします。これは、プロシージャキャッシュのバリアントが多数あり、共通に使用されるクエリーが行の大きなサブセットを返さない場合に特に当てはまります。
フル リフレッシュ マルチテーブル キャッシュが有効な場合にキャッシュにインデックスを付けるには
| 1. | 次の手順を参照してください。 |
| — | データベース ターゲットでの複数テーブル キャッシュの作成 |
| 2. | [インデックス] タブに必要なインデックスが定義されていることを確認してください。 |
[インデックス] タブの使用方法については、インデックス、マスター キー、フォーリン キーを使用したクエリ パフォーマンスの向上を参照してください。
完全更新キャッシュにインデックスを作成するには
-
次のトピックの手順を参照してください。
| — | フル リフレッシュ モード キャッシュの事前および事後アクションの定義 |
-
インデックスを管理および定義するロジックを追加します。
-
パフォーマンスをテストして、キャッシュ インデックスのパフォーマンス目標が達成されていることを確認します。
プルベースのインクリメンタルキャッシュにインデックスを作成するには
-
次のトピックの手順を参照してください。
| — | プルベースのインクリメンタル キャッシュの設定 |
-
インデックスを管理および定義するロジックを追加します。
-
パフォーマンスをテストして、キャッシュ インデックスのパフォーマンス目標が達成されていることを確認します。
キャッシュターゲットで直接キャッシュデータにインデックスを作成するには
-
次のトピックの手順を参照してください。
| — | キャッシュの設定 |
-
キャッシュ ターゲット データベース タイプで使用可能なデータベース ツールを使用して、インデックスを定義します。
-
キャッシュの更新後もインデックスが機能していることを確認するために、他のスクリプトまたはプロセスの変更が必要になる可能性があるかどうかを判断します。
-
パフォーマンスをテストして、キャッシュ インデックスのパフォーマンス目標が達成されていることを確認します。