全部產品
Search
文件中心

PolarDB:REFRESH MATERIALIZED VIEW

更新時間:Jul 06, 2024

本文介紹了REFRESH MATERIALIZED VIEW的文法、參數以及樣本等內容。

簡介

REFRESH MATERIALIZED VIEW完全替換一個物化視圖的內容。你必須是該物化視圖的屬主才能執行這個命令.舊的內容會被拋棄。如果指定了 WITH DATA(或者作為預設值),支援查詢將被執行以提供新的資料,並且會讓物化視圖將處於可掃描的狀態。如果指定了 WITH NO DATA,則不會產生新資料並且會讓物化視圖處於一種不可掃描的狀態。

CONCURRENTLYWITH NO DATA 不能被一起指定。

文法

    REFRESH MATERIALIZED VIEW [ CONCURRENTLY ] name
        [ WITH [ NO ] DATA ]

參數

CONCURRENTLY對物化視圖的重新整理不阻塞在該物化視圖上的並發選擇。如果沒有這個選項, 一次影響很多行的重新整理將使用更少的資源並且更快結束,但是可能會阻塞其他嘗試從物化視圖中讀取的串連。這個選項在只有少量行被影響的情況下可能會更快。

只有當物化視圖上有至少一個UNIQUE索引(只用列名並且包括所有行)時,才允許這個選項。也就是說,它不能是運算式索引或者包括WHERE子句。

當物化視圖還未被填充時,這個選項不能被使用。

即使帶有這個選項,對於任意一個物化視圖一次也只能運行一個 REFRESH

name要重新整理的物化視圖的名稱(可以被模式限定)。

說明

雖然用於未來的 CLUSTER 操作的預設索引會被保持, REFRESH MATERIALIZED VIEW不會基於這個屬性排序產生的行。如果希望資料在產生時排序,必須在支援查詢中使用 ORDER BY子句。

樣本

將使用物化視圖order_summary定義中的查詢來替換該物化視圖的內容,並且讓它處於一種可掃描的狀態:

    REFRESH MATERIALIZED VIEW order_summary;

將釋放與物化視圖annual_statistics_basis相關的儲存並且讓它變成一種不可掃描的狀態:

    REFRESH MATERIALIZED VIEW annual_statistics_basis WITH NO DATA;