マテリアライズドビューには、手動と即時の 2 つの「再表示タイプ」があります。
手動ビュー 手動のマテリアライズドビューまたは「手動ビュー」とは、再表示タイプが MANUAL REFRESH と定義されているマテリアライズドビューです。手動ビューは、たとえば REFRESH MATERIALIZED VIEW 文または sa_refresh_materialized_views システムプロシージャを使用して再表示を明示的に要求するまで再表示されないため、手動ビューのデータが古くなる場合があります。デフォルトでは、マテリアライズドビューを作成すると手動ビューになります。
基本となるいずれかのテーブルが変更されると、マテリアライズドビューのデータが変更による影響を受けなくても、手動ビューは古くなったと見なされます。a_materialized_view_info システムプロシージャが返す DataStatus の値を調べて、手動ビューが古くなったかどうかを判断することができます。S が返されると、手動ビューが古いことを表します。
即時ビュー 即時のマテリアライズドビューまたは「即時ビュー」とは、再表示タイプが IMMEDIATE REFRESH と定義されているマテリアライズドビューです。即時ビューのデータは、基本となるテーブルへの変更がビューのデータに影響を与える場合に、自動的に再表示されます。基本となるテーブルへの変更がビューのデータに影響しない場合、ビューは再表示されません。
また、即時ビューが再表示されるときは、古いローのみを変更する必要があります。この点が手動ビューの再表示とは異なります。手動ビューの再表示では、再表示するためにすべてのデータが削除され、再作成されます。
手動ビューを即時ビューに、または即時ビューを手動ビューに変更できます。ただし、手動ビューから即時ビューへの変更処理では、少し多くの手順があります。
マテリアライズドビューの再表示タイプを変更すると、特に手動ビューから即時ビューに変更する場合は、ビューのステータスとプロパティに影響を与える場合があります。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |