MENYEGARKAN TAMPILAN TERWUJUD - Amazon Redshift

Amazon Redshift tidak akan lagi mendukung pembuatan Python UDFs baru mulai 1 November 2025. Jika Anda ingin menggunakan Python UDFs, buat UDFs sebelum tanggal tersebut. Python yang ada UDFs akan terus berfungsi seperti biasa. Untuk informasi lebih lanjut, lihat posting blog.

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

MENYEGARKAN TAMPILAN TERWUJUD

Menyegarkan tampilan yang terwujud.

Saat Anda membuat tampilan terwujud, isinya mencerminkan keadaan tabel atau tabel database yang mendasarinya pada saat itu. Data dalam tampilan terwujud tetap tidak berubah, bahkan ketika aplikasi membuat perubahan pada data dalam tabel yang mendasarinya.

Untuk memperbarui data dalam tampilan terwujud, Anda dapat menggunakan REFRESH MATERIALIZED VIEW pernyataan kapan saja. Saat Anda menggunakan pernyataan ini, Amazon Redshift mengidentifikasi perubahan yang terjadi di tabel dasar atau tabel, lalu menerapkan perubahan tersebut ke tampilan terwujud.

Untuk informasi lebih lanjut tentang tampilan terwujud, lihatTampilan terwujud di Amazon Redshift.

Sintaksis

REFRESH MATERIALIZED VIEW mv_name [ RESTRICT | CASCADE ]

Parameter

mv_nama

Nama tampilan terwujud untuk disegarkan.

MEMBATASI

Kata kunci opsional. Menyegarkan tampilan terwujud yang ditentukan tetapi bukan pandangan materialisasi dependennya. Default jika RESTRICT atau CASCADE tidak ditentukan.

RIAM

Kata kunci opsional. Menyegarkan tampilan terwujud yang ditentukan dan semua pandangan materialisasi dependennya.

Catatan penggunaan

Hanya pemilik tampilan terwujud yang dapat melakukan REFRESH MATERIALIZED VIEW operasi pada tampilan yang terwujud itu. Selanjutnya, pemilik harus memiliki hak istimewa SELECT pada tabel dasar yang mendasarinya agar berhasil dijalankanREFRESH MATERIALIZED VIEW.

REFRESH MATERIALIZED VIEWPerintah berjalan sebagai transaksi sendiri. Semantik transaksi Amazon Redshift diikuti untuk menentukan data apa dari tabel dasar yang terlihat oleh REFRESH perintah, atau kapan perubahan yang dibuat oleh REFRESH perintah dibuat terlihat oleh transaksi lain yang berjalan di Amazon Redshift.

  • Untuk tampilan materialisasi inkremental, REFRESH MATERIALIZED VIEW gunakan hanya baris tabel dasar yang sudah di-commit. Oleh karena itu, jika operasi penyegaran berjalan setelah pernyataan bahasa manipulasi data (DML/bahasa manipulasi data) dalam transaksi yang sama, maka perubahan pernyataan DML tersebut tidak terlihat untuk disegarkan.

  • Untuk penyegaran penuh tampilan terwujud, REFRESH MATERIALIZED VIEW lihat semua baris tabel dasar yang terlihat oleh transaksi penyegaran, menurut semantik transaksi Amazon Redshift biasa.

  • Bergantung pada jenis argumen masukan, Amazon Redshift masih mendukung penyegaran tambahan untuk tampilan terwujud untuk fungsi berikut dengan tipe argumen masukan tertentu: DATE (stempel waktu), DATE_PART (tanggal, waktu, interval, time-tz), DATE_TRUNC (stempel waktu, interval).

  • Penyegaran tambahan didukung pada tampilan terwujud di mana tabel dasar berada dalam database.

Beberapa operasi di Amazon Redshift berinteraksi dengan tampilan yang terwujud. Beberapa operasi ini mungkin memaksa REFRESH MATERIALIZED VIEW operasi untuk sepenuhnya menghitung ulang tampilan terwujud meskipun kueri yang mendefinisikan tampilan terwujud hanya menggunakan fitur SQL yang memenuhi syarat untuk penyegaran tambahan. Misalnya:

  • Operasi vakum latar belakang mungkin diblokir jika tampilan terwujud tidak disegarkan. Setelah periode ambang batas yang ditentukan secara internal, operasi vakum diizinkan untuk berjalan. Ketika operasi vakum ini terjadi, setiap tampilan materialisasi dependen ditandai untuk perhitungan ulang pada penyegaran berikutnya (bahkan jika itu bertahap). Untuk informasi tentang VACUUM, lihatVAKUM. Untuk informasi selengkapnya tentang peristiwa dan perubahan status, lihatSTL_MV_STATE.

  • Beberapa operasi yang dimulai pengguna pada tabel dasar memaksa tampilan terwujud untuk dihitung ulang sepenuhnya saat operasi REFRESH dijalankan. Contoh operasi tersebut adalah VACUUM yang dipanggil secara manual, pengubahan ukuran klasik, operasi ALTER DISTKEY, operasi ALTER SORTKEY, dan operasi pemotongan. Operasi otomatis dalam beberapa kasus juga dapat menghasilkan tampilan terwujud yang dihitung ulang sepenuhnya saat operasi REFRESH dijalankan berikutnya. Misalnya, operasi penghapusan vakum otomatis dapat menyebabkan perhitungan ulang penuh. Untuk informasi selengkapnya tentang peristiwa dan perubahan status, lihatSTL_MV_STATE.

Penyegaran Cascading

Opsi CASCADE menyegarkan tampilan terwujud yang ditentukan dan semua pandangan materialisasi dependennya, dalam urutan ketergantungan: basis MVs berada di REFRESHed depan di MVs atas (urutan topologi). Ini memungkinkan Anda memperbarui kumpulan tampilan terwujud bersarang dalam satu perintah.

Opsi RESTRICT (default jika RESTRICT atau CASCADE tidak ditentukan) hanya menyegarkan tampilan terwujud yang ditentukan.

Saat menggunakan opsi CASCADE, aturan berikut berlaku:

  • Hanya pemilik tampilan terwujud atau superuser yang dapat menjalankan perintah. REFRESH MATERIALIZED VIEW ... CASCADE

  • Jika salah satu pandangan terwujud dalam kaskade tidak dapat disegarkan, seluruh operasi kaskade akan berhenti.

Fungsionalitas penyegaran cascading hanya didukung untuk MVs bersarang di atas tampilan lokal dan streaming yang terwujud. Tampilan terwujud dengan jenis sumber lain, seperti Spektrum atau Berbagi Data, tidak didukung dalam mode kaskade. CASCADE mengeksekusi refresh dalam satu transaksi untuk semua bersarang. MVs

Penyegaran tambahan untuk tampilan terwujud dalam datashare

Amazon Redshift mendukung penyegaran otomatis dan inkremental untuk tampilan terwujud dalam penyimpanan data konsumen saat tabel dasar dibagikan. Penyegaran tambahan adalah operasi di mana Amazon Redshift mengidentifikasi perubahan pada tabel dasar atau tabel yang terjadi setelah penyegaran sebelumnya dan hanya memperbarui catatan terkait dalam tampilan terwujud. Untuk informasi selengkapnya tentang perilaku ini, lihat MEMBUAT TAMPILAN TERWUJUD.

Batasan untuk penyegaran tambahan

Amazon Redshift saat ini tidak mendukung penyegaran tambahan untuk tampilan terwujud yang ditentukan dengan kueri menggunakan salah satu elemen SQL berikut:

  • OUTER JOIN (KANAN, KIRI, atau PENUH).

  • Mengatur operasi: UNION, INTERSECT, KECUALI, MINUS.

  • UNION ALL ketika terjadi dalam subquery dan fungsi agregat atau klausa GROUP BY hadir dalam query.

  • Fungsi agregat: MEDIAN, PERCENTILE_CONT, LISTAGG, STDDEV_SAMP, STDDEV_POP, PERKIRAAN HITUNGAN, PERKIRAAN PERSENTIL, dan fungsi agregat bitwise.

    catatan

    Fungsi agregat COUNT, SUM, MIN, MAX, dan AVG didukung.

  • Fungsi agregat yang berbeda, seperti DISTINCT COUNT, DISTINCT SUM, dan sebagainya.

  • Fungsi Jendela.

  • Kueri yang menggunakan tabel sementara untuk optimasi kueri, seperti mengoptimalkan subexpressions umum.

  • Subkueri

  • Tabel eksternal yang mereferensikan format berikut dalam kueri yang mendefinisikan tampilan terwujud.

    • Danau Delta

    • Hudi

    Penyegaran tambahan didukung untuk tampilan terwujud yang ditentukan menggunakan format selain yang tercantum di atas. Untuk informasi selengkapnya, lihat Tampilan terwujud pada tabel danau data eksternal di Amazon Redshift Spectrum.

  • Fungsi yang dapat berubah, seperti fungsi tanggal-waktu, RANDOM dan fungsi yang ditentukan pengguna yang tidak stabil.

  • Untuk batasan terkait penyegaran tambahan untuk integrasi nol-ETL, lihat Pertimbangan saat menggunakan integrasi nol-ETL dengan Amazon Redshift.

  • Mengakses tabel dari lebih dari satu database

Untuk informasi selengkapnya tentang batasan tampilan terwujud, termasuk efek operasi latar belakang seperti VACUUM pada operasi penyegaran tampilan terwujud, lihat. Catatan penggunaan

Contoh

Contoh berikut menyegarkan tampilan tickets_mv terwujud.

REFRESH MATERIALIZED VIEW tickets_mv;

Contoh berikut menyegarkan tampilan terwujud dan semua pandangan products_mv materialisasi dependennya:

REFRESH MATERIALIZED VIEW products_mv CASCADE;