このトピックでは、SELECT
、INSERT INTO SELECT
、WITH
などのSQL構文でマテリアライズドビューを使用してクエリのパフォーマンスを向上させる方法について説明します。
必要な権限。
マテリアライズドビューに対するSELECT権限が必要です。 マテリアライズドビューによって参照されるベーステーブルに対するSELECT権限は必要ありません。
説明
GRANT
ステートメントを実行して、マテリアライズドビューに対するSELECT権限をユーザーに付与できます。
GRANT SELECT ON <mv_name> TO '<user>'@'%';
方式
マテリアライズドビューのデータを照会するために使用されるステートメントは、標準テーブルまたはビューのデータを照会するために使用されるステートメントと同じです。 すべてのSQL構文でマテリアライズドビューを使用できます。 例:
SELECT * FROM adbview
WHERE device = 'PC'
AND city = 'Beijing';
説明
マテリアライズドビューを使用してクエリを実行すると、マテリアライズドビューによって参照されるベーステーブルが更新されることがありますが、更新はマテリアライズドビューに反映されません。 この場合、クエリ結果が不正確になる可能性があります。 このため、実テーブルが更新された後、マテリアライズドビューを手動で更新し、クエリを実行することをお勧めします。 マテリアライズドビューを手動で更新する方法の詳細については、「マテリアライズドビューの完全更新の設定」をご参照ください。