マテリアライズド・ビューを使用する前に、次の要件や設定をよく検討してください。
ディスク領域の要件 マテリアライズド・ビューにはベース・テーブルからのデータの複製が含まれるため、作成するマテリアライズド・ビューのサイズ分の領域をデータベースのディスク上に追加で割り付ける必要があることがあります。得られる利点がマテリアライズド・ビューの使用コストと釣り合うように、追加領域の要件は慎重に検討する必要があります。
保守コストとデータの最新性の要件 マテリアライズド・ビューのデータは、基本となるテーブルのデータが変更されたときにリフレッシュする必要があります。次のような競合要因を考慮の上、マテリアライズド・ビューをリフレッシュしなければならない頻度を判断する必要があります。
基本となるデータの変更頻度 データに対して頻繁な変更や大規模な変更が行われると、手動ビューが古くなります。データの最新性が重要な場合は、即時ビューの使用を検討します。
リフレッシュのコスト 各マテリアライズド・ビューの基本となるクエリの複雑さや関係するデータの量に応じて、リフレッシュに必要な計算のコストが非常に高くなることがあります。そのためマテリアライズド・ビューが頻繁にリフレッシュされると、データベース・サーバが耐えられないほどの負荷がかかる可能性があります。さらに、マテリアライズド・ビューはリフレッシュ操作中は使用できません。
アプリケーションのデータ最新性の要件 データベース・サーバが古いマテリアライズド・ビューを使用すると、アプリケーションに対して古いデータを提示することになります。古いデータとは、基本となるテーブルの現在の状態を表さなくなったデータです。古さの程度は、マテリアライズド・ビューがリフレッシュされる頻度によって決まります。高いパフォーマンスを実現するために、許容できる古さの程度を判断するようにアプリケーションを設計する必要があります。マテリアライズド・ビューでデータの古さを管理する詳細については、オプティマイザでのマテリアライズド・ビューに対する古さのしきい値の設定を参照してください。
データの一貫性の要件 マテリアライズド・ビューをリフレッシュするときは、マテリアライズド・ビューをリフレッシュしなければならない一貫性を判断する必要があります。REFRESH MATERIALIZED VIEW 文の WITH ISOLATION LEVEL 句についての説明を参照してください。
最適化の使用 クエリの実行時にオプティマイザがマテリアライズド・ビューを検討することを検証してください。特定のクエリで使用されるマテリアライズド・ビューのリストは、Interactive SQL でクエリのグラフィカルなプランの [高度な詳細] ウィンドウで確認できます。実行プランの解釈とマテリアライズド・ビューによるパフォーマンスの向上を参照してください。
また、Sybase Central でアプリケーション・プロファイリング・モードを使用して、オプティマイザで列挙されたアクセス・プランを確認することで、クエリの列挙フェーズでマテリアライズド・ビューが検討されたかどうかを判断できます。トレーシングはオンにする必要があります。また、オプティマイザによって列挙されるアクセス・プランを確認できるように、OPTIMIZATION_LOGGING トレーシング・タイプを含めるように設定してください。アプリケーション・プロファイリングと診断トレーシング・レベルの選択を参照してください。
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |