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 VIEW
Perintah 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;