All Products
Search
Document Center

AnalyticDB:Kelola tampilan yang di-materialisasi

Last Updated:Jun 21, 2026

Setelah membuat tampilan yang di-materialisasi, Anda dapat mengelolanya di kluster Anda, termasuk mengkueri catatan refresh dan definisinya, mengubah kelompok sumber daya yang digunakan, mengaktifkan atau menonaktifkan fitur query rewrite, serta menghapusnya.

Kueri definisi tampilan yang di-materialisasi

Anda dapat mengkueri pernyataan DDL yang digunakan untuk membuat tampilan yang di-materialisasi.

Izin

Anda harus memiliki izin SELECT pada tampilan yang di-materialisasi tersebut. Jika tidak, akun istimewa atau akun standar dengan izin GRANT harus memberikan izin tersebut kepada Anda melalui halaman account management di Konsol atau dengan menjalankan pernyataan SQL berikut: GRANT SELECT ON database.mv_name TO username;

Sintaks

SHOW CREATE MATERIALIZED VIEW <mv_name>

Contoh

Kueri pernyataan DDL untuk tampilan yang di-materialisasi compl_mv1.

SHOW CREATE MATERIALIZED VIEW demo.compl_mv1;

Kueri metadata tampilan yang di-materialisasi

Bidang

Tampilan information_schema.mv_info berisi metadata untuk semua tampilan yang di-materialisasi. Jika hanya ingin melihat definisi satu tampilan yang di-materialisasi, gunakan pernyataan SHOW CREATE MATERIALIZED VIEW.

Tabel berikut menjelaskan bidang umum dalam information_schema.mv_info.

Bidang

Deskripsi

MV_SCHEMA

Database tempat tampilan yang di-materialisasi berada.

MV_NAME

Nama tampilan yang di-materialisasi.

MV_DEFINITION

DDL untuk properti tabel dari tampilan yang di-materialisasi.

MV_QUERY

Kueri SQL asli (query_body) dari tampilan yang di-materialisasi.

FIRST_REFRESH_TIME

Waktu refresh pertama, jika refresh otomatis dikonfigurasi.

NEXT_REFRESH_TIME_FUNC

Fungsi yang menentukan waktu refresh berikutnya, jika refresh otomatis dikonfigurasi.

OWNER

Pembuat tampilan yang di-materialisasi.

QUERY_SCHEMA

Database tempat pernyataan CREATE MATERIALIZED VIEW dieksekusi.

REFRESH_CONDITION

Mekanisme pemicu refresh.

  • DEMAND: Tugas terjadwal atau perintah manual memicu refresh.

  • OVERWRITE: Overwrite pada tabel dasar memicu refresh.

REFRESH_STATE

Metode refresh untuk tampilan yang di-materialisasi.

  • COMPLETE: Pembaruan penuh.

  • FAST: Pembaruan bertahap.

UPDATE_TIME

Waktu pembaruan terakhir untuk baris metadata ini.

Contoh

  • Hitung jumlah tampilan yang di-materialisasi di kluster.

    SELECT count(*) FROM information_schema.mv_info;
  • Kueri metadata untuk semua tampilan yang di-materialisasi.

    SELECT * FROM information_schema.mv_info;

Daftar tampilan yang di-materialisasi

Menampilkan daftar tampilan yang di-materialisasi di database tertentu yang memiliki izin SELECT. Jika menentukan pola, hanya tampilan yang di-materialisasi dengan nama yang sesuai pola tersebut yang dikembalikan.

Izin

Anda harus memiliki izin SELECT pada semua tampilan yang di-materialisasi di database yang ditentukan. Jika tidak, akun istimewa atau akun standar dengan izin GRANT harus memberikan izin tersebut kepada Anda melalui halaman account management di Konsol atau dengan menjalankan pernyataan SQL berikut: GRANT SELECT ON database.* TO username;

Sintaks

Kueri semua tampilan yang di-materialisasi di database saat ini:

SHOW MATERIALIZED VIEWS [LIKE 'pattern']

Kueri semua tampilan yang di-materialisasi di database tertentu (yang bisa berbeda dari database saat ini):

SELECT * FROM information_schema.mv_info WHERE mv_schema='schema_name';

Contoh

  • Kueri semua tampilan yang di-materialisasi di database saat ini.

    SHOW MATERIALIZED VIEWS;
  • Kueri semua tampilan yang di-materialisasi di database saat ini yang namanya diawali dengan compl.

    SHOW MATERIALIZED VIEWS LIKE 'compl%';
    Catatan

    Untuk informasi lebih lanjut tentang cara menggunakan LIKE 'pattern', lihat String functions.

  • Kueri semua tampilan yang di-materialisasi di database demo.

    SELECT * FROM information_schema.mv_info WHERE mv_schema='demo';

Kueri catatan refresh

Catatan refresh otomatis

Sintaks

Gunakan pernyataan SQL berikut untuk mengkueri catatan refresh otomatis untuk tampilan yang di-materialisasi tertentu. Catatan tersebut mencakup waktu mulai (START_TIME), waktu selesai (END_TIME), status (STATE), dan ID proses (PROCESS_ID) dari refresh tersebut.

SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema='<schema_name>' AND mv_name = '<mv_name>';

Tampilan information_schema.mv_auto_refresh_jobs menyimpan catatan pekerjaan refresh otomatis untuk tampilan yang di-materialisasi dan menyimpan maksimal 1.024 catatan. Tabel ini hanya mencantumkan tampilan yang di-materialisasi yang dikonfigurasi untuk refresh otomatis terjadwal (menggunakan parameter START WITH atau NEXT).

Catatan

Tampilan information_schema.mv_auto_refresh_jobs tidak mencakup catatan untuk refresh awal yang terjadi saat tampilan yang di-materialisasi dibuat.

Contoh

  • Kueri semua catatan refresh untuk tampilan yang di-materialisasi compl_mv1 di database demo.

    SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema = 'demo' AND mv_name = 'compl_mv1';
  • Kueri pekerjaan refresh tertunda terbaru untuk tampilan yang di-materialisasi compl_mv1 di database demo.

    SELECT * FROM information_schema.mv_auto_refresh_jobs WHERE mv_schema = 'demo' AND mv_name = 'compl_mv1' AND state = 'PENDING';

Bidang

Tabel berikut menjelaskan bidang umum.

Bidang

Deskripsi

MV_SCHEMA

Nama database tempat tampilan yang di-materialisasi berada.

MV_NAME

Nama tampilan yang di-materialisasi.

PROCESS_ID

ID proses dari pekerjaan refresh.

SCHEDULED_START_TIME

Waktu mulai terjadwal untuk pekerjaan refresh.

START_TIME

Waktu mulai aktual dari pekerjaan refresh.

END_TIME

Waktu selesai aktual dari pekerjaan refresh.

STATE

Status refresh.

  • PENDING: Menunggu dipicu.

  • RUNNING: Refresh sedang berlangsung. Jika banyak tampilan yang di-materialisasi mulai melakukan refresh secara bersamaan, suatu pekerjaan mungkin menunjukkan status RUNNING sambil menunggu sumber daya komputasi.

  • FINISHED: Refresh selesai.

  • FAILED: Refresh gagal. Pekerjaan tersebut akan mencoba ulang secara otomatis hingga 10 kali. Jika tetap gagal, sistem akan melewati pekerjaan tersebut dan menunggu refresh terjadwal berikutnya.

  • TIMEOUT: Pekerjaan refresh berada dalam status tidak diketahui dan tidak selesai. Pekerjaan yang timeout akan direfresh kembali.

Catatan refresh manual

  • Anda dapat menggunakan fitur SQL Audit untuk mengkueri catatan refresh manual untuk tampilan yang di-materialisasi dari 30 hari terakhir. Saat mengkueri, masukkan kata kunci REFRESH MATERIALIZED VIEW mv_name untuk menemukan informasi seperti waktu, durasi, alamat IP, dan username untuk refresh manual.

    Catatan

    Fitur SQL Audit harus diaktifkan secara terpisah. Operasi SQL yang dilakukan sebelum fitur ini diaktifkan tidak dicatat.

  • Anda dapat menggunakan fitur SQL Diagnostics and Optimization untuk mengkueri catatan refresh manual maupun otomatis dari 14 hari terakhir. Saat mengkueri, masukkan nama tampilan yang di-materialisasi, seperti compl_mv1. Anda dapat mengambil informasi tentang semua kueri SQL terkait (termasuk pembuatan, refresh manual, refresh otomatis, dan pengubahan), seperti waktu mulai, username, durasi, dan ID kueri.

Ubah tampilan yang di-materialisasi

Anda dapat mengonversi tampilan yang di-materialisasi standar menjadi elastic materialized view, mengubah kelompok sumber daya yang digunakan, mengaktifkan atau menonaktifkan fitur query rewrite, atau mengganti namanya.

Anda tidak dapat mengubah properti lainnya, seperti definisi tampilan, kebijakan refresh, atau pemicu refresh.

Izin

Anda harus memiliki izin ALTER pada tampilan yang di-materialisasi tersebut. Jika tidak, akun istimewa atau akun standar dengan izin GRANT harus memberikan izin tersebut kepada Anda melalui halaman account management di Konsol atau dengan menjalankan pernyataan SQL berikut: GRANT ALTER ON database.mv_name TO username;

Sintaks

ALTER MATERIALIZED VIEW <mv_name>
[MV_PROPERTIES=<MV_PROPERTIES>]
[ENABLE|DISABLE QUERY REWRITE]
[RENAME <new_mv_name>]
[BINLOG={TRUE|FALSE}]
  • MV_PROPERTIES: Menentukan properti tampilan yang di-materialisasi, termasuk parameter mv_resource_group dan mv_refresh_hints.

    mv_resource_group: Menentukan kelompok sumber daya yang digunakan oleh tampilan yang di-materialisasi. Jika kelompok sumber daya yang ditentukan tidak ada, kesalahan akan dikembalikan saat membuat tampilan yang di-materialisasi.

    mv_refresh_hints: Mengatur parameter untuk tampilan yang di-materialisasi. Untuk detail parameter konfigurasi yang didukung, lihat Common Hints.

    Penting

    Properti <MV_PROPERTIES> yang ditentukan dalam pernyataan ALTER akan sepenuhnya menimpa properti <MV_PROPERTIES> yang ditentukan saat tampilan yang di-materialisasi dibuat.

    Sebagai contoh, jika Anda membuat tampilan yang di-materialisasi dan mengonfigurasi parameter mv_resource_group dan mv_refresh_hints, lalu menjalankan pernyataan ALTER yang hanya menentukan parameter mv_resource_group, maka parameter mv_resource_group diperbarui, sedangkan parameter mv_refresh_hints dihapus.

  • ENABLE|DISABLE QUERY REWRITE: Mengaktifkan atau menonaktifkan fitur query rewrite.

  • RENAME <new_mv_name>: Mengganti nama tampilan yang di-materialisasi.

  • BINLOG={TRUE|FALSE}: Mengaktifkan atau menonaktifkan fitur binlog untuk tampilan yang di-materialisasi. Fitur ini didukung pada versi kernel kluster 3.2.5.0 dan yang lebih baru.

Contoh

  • Aktifkan fitur query rewrite untuk tampilan yang di-materialisasi compl_mv1.

    ALTER MATERIALIZED VIEW compl_mv1 ENABLE QUERY REWRITE;
  • Ubah kelompok sumber daya yang digunakan oleh elastic materialized view job_mv.

    ALTER MATERIALIZED VIEW job_mv 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2",
      "mv_refresh_hints":{"query_priority":"NORMAL"}
    }';
  • Konversi tampilan yang di-materialisasi standar compl_mv1 menjadi elastic materialized view.

    ALTER MATERIALIZED VIEW compl_mv1 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2"
    }';
  • Ganti nama tampilan yang di-materialisasi mv1 menjadi mv2.

    ALTER MATERIALIZED VIEW mv1 RENAME mv2;

Hapus tampilan yang di-materialisasi

Operasi ini menghapus secara fisik tampilan yang di-materialisasi beserta datanya.

Catatan

Jika Anda menggunakan DROP TABLE untuk menghapus tampilan yang di-materialisasi, kesalahan akan dikembalikan. Pesan kesalahan tersebut mirip dengan demo.myview11 is materialized view, use DROP MATERIALIZED VIEW.

Izin

Anda harus memiliki izin DROP pada tampilan yang di-materialisasi tersebut. Jika tidak, akun istimewa atau akun standar dengan izin GRANT harus memberikan izin tersebut kepada Anda melalui halaman account management di Konsol atau dengan menjalankan pernyataan SQL berikut: GRANT DROP ON database.mv_name TO username;

Sintaks

DROP MATERIALIZED VIEW <mv_name>

Contoh

Hapus tampilan yang di-materialisasi compl_mv1.

DROP MATERIALIZED VIEW compl_mv1;