Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 12.0.1 » SQL Anywhere サーバー SQL の使用法 » テーブル、ビュー、インデックス » マテリアライズドビュー » マテリアライズドビューを使用したパフォーマンスの向上

 

マテリアライズドビューとビューの依存性

マテリアライズドビューを有効または無効にすることで、データベースサーバーがそのビューを使用できるかどうかを制御できます。無効になったマテリアライズドビューは、最適化時にオプティマイザーによって検討されません。クエリが無効なマテリアライズドビューを明示的に参照している場合、そのクエリは失敗し、エラーが返されます。マテリアライズドビューを無効にすると、データベースサーバーはそのビューのデータを削除しますが、定義はデータベース内に保持します。マテリアライズドビューをもう一度有効にすると、初期化されていない状態になるため、データを設定するためにはそのビューをリフレッシュする必要があります。

マテリアライズドビューに依存する通常のビューは、マテリアライズドビューが無効になると、データベースサーバーによって自動的に無効になります。その結果、マテリアライズドビューをもう一度有効にする場合は、すべての従属ビューをもう一度有効にする必要があります。このため、マテリアライズドビューを無効にする前に、ビューの依存性のリストを取得する場合があります。この操作は、sa_dependent_views システムプロシージャーを使用して行います。このプロシージャーは ISYSDEPENDENCY システムテーブルを検査して、従属ビューが存在する場合はそのリストを返します。

パーミッションは無効化されたオブジェクトに対して付与できます。無効化されたオブジェクトに対するパーミッションはデータベースに保存され、オブジェクトが有効になると使用できるようになります。

 参照