マテリアライズドビューを有効または無効にすることで、データベースサーバーがそのビューを使用できるかどうかを制御できます。無効になったマテリアライズドビューは、最適化時にオプティマイザーによって検討されません。クエリが無効なマテリアライズドビューを明示的に参照している場合、そのクエリは失敗し、エラーが返されます。マテリアライズドビューを無効にすると、データベースサーバーはそのビューのデータを削除しますが、定義はデータベース内に保持します。マテリアライズドビューをもう一度有効にすると、初期化されていない状態になるため、データを設定するためにはそのビューをリフレッシュする必要があります。
マテリアライズドビューに依存する通常のビューは、マテリアライズドビューが無効になると、データベースサーバーによって自動的に無効になります。その結果、マテリアライズドビューをもう一度有効にする場合は、すべての従属ビューをもう一度有効にする必要があります。このため、マテリアライズドビューを無効にする前に、ビューの依存性のリストを取得する場合があります。この操作は、sa_dependent_views システムプロシージャーを使用して行います。このプロシージャーは ISYSDEPENDENCY システムテーブルを検査して、従属ビューが存在する場合はそのリストを返します。
パーミッションは無効化されたオブジェクトに対して付与できます。無効化されたオブジェクトに対するパーミッションはデータベースに保存され、オブジェクトが有効になると使用できるようになります。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |