全部产品
Search
文档中心

AnalyticDB:Kelola tampilan materialisasi

更新时间:Jul 02, 2025

Setelah membuat tampilan materialisasi, Anda dapat mengelolanya di kluster AnalyticDB for MySQL. Contohnya, Anda dapat mengkueri catatan pembaruan, definisi tampilan materialisasi, mengubah grup sumber daya elastis yang digunakan, mengaktifkan atau menonaktifkan fitur penulisan ulang kueri, serta menghapus tampilan materialisasi.

Kueri definisi tampilan materialisasi

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

Izin yang diperlukan

Anda memerlukan izin SELECT pada tampilan materialisasi. Untuk mendapatkan izin ini, buat akun istimewa atau akun standar dengan izin GRANT, lalu berikan izin SELECT ke akun tersebut melalui halaman Akun atau dengan menjalankan pernyataan GRANT SELECT ON database.mv_name TO username;.

Sintaksis

SHOW CREATE MATERIALIZED VIEW <mv_name>

Contoh

Kueri pernyataan DDL yang digunakan untuk membuat tampilan materialisasi bernama compl_mv1.

SHOW CREATE MATERIALIZED VIEW demo.compl_mv1;

Kueri metadata tampilan materialisasi

Tabel information_schema.mv_info berisi metadata semua tampilan materialisasi. Untuk mengkueri definisi satu tampilan materialisasi, gunakan pernyataan SHOW CREATE MATERIALIZED VIEW.

Tabel berikut menjelaskan bidang umum dalam tabel information_schema.mv_info.

Bidang

Deskripsi

MV_SCHEMA

Nama database tempat tampilan materialisasi berada.

MV_NAME

Nama tampilan materialisasi.

MV_DEFINITION

Pernyataan DDL yang digunakan untuk membuat tampilan materialisasi.

MV_QUERY

Kueri SQL asli dari tampilan materialisasi.

FIRST_REFRESH_TIME

Waktu pembaruan pertama jika tampilan materialisasi dikonfigurasi untuk memperbarui secara otomatis.

NEXT_REFRESH_TIME_FUNC

Fungsi yang menyimpulkan waktu pembaruan berikutnya jika tampilan materialisasi dikonfigurasi untuk memperbarui secara otomatis.

OWNER

Pembuat tampilan materialisasi.

QUERY_SCHEMA

Nama database tempat pernyataan pembuatan tampilan materialisasi dieksekusi.

REFRESH_CONDITION

Mekanisme pemicu pembaruan tampilan materialisasi. Nilai valid:

  • DEMAND: pembaruan otomatis pada interval terjadwal atau pembaruan manual.

  • OVERWRITE: pembaruan otomatis saat tabel dasar ditimpa.

REFRESH_STATE

Kebijakan pembaruan tampilan materialisasi.

  • COMPLETE: pembaruan lengkap.

  • FAST: pembaruan cepat.

UPDATE_TIME

Titik waktu ketika baris metadata tampilan materialisasi saat ini diperbarui.

Kueri jumlah total tampilan materialisasi di kluster saat ini

SELECT count(*) FROM information_schema.mv_info;

Kueri metadata semua tampilan materialisasi

SELECT * FROM information_schema.mv_info;

Kueri semua tampilan materialisasi

Anda dapat mengkueri semua tampilan materialisasi tempat Anda memiliki izin SELECT di database. Jika Anda menentukan pola SQL, semua tampilan materialisasi yang sesuai dengan pola akan dikembalikan.

Izin yang diperlukan

Anda memerlukan izin SELECT pada semua tampilan materialisasi di database yang ditentukan. Untuk mendapatkan izin ini, buat akun istimewa atau akun standar dengan izin GRANT, lalu berikan izin SELECT ke akun tersebut melalui halaman Akun atau dengan menjalankan pernyataan GRANT SELECT ON database.* TO username;.

Sintaksis

Kueri semua tampilan materialisasi di database saat ini.

SHOW MATERIALIZED VIEWS [LIKE 'pattern']

Kueri semua tampilan materialisasi di database tertentu. Anda dapat menentukan database lain selain database saat ini.

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

Contoh

  • Kueri semua tampilan materialisasi di database saat ini.

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

    SHOW MATERIALIZED VIEWS LIKE 'compl%';
    Untuk informasi lebih lanjut tentang sintaksis LIKE 'pattern', lihat bagian "LIKE" dari topik Fungsi string.
  • Kueri semua tampilan materialisasi di database demo.

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

Kueri catatan pembaruan tampilan materialisasi

Kueri catatan pembaruan otomatis

Jalankan pernyataan berikut untuk mengkueri catatan pembaruan otomatis tampilan materialisasi, termasuk waktu mulai, waktu selesai, status, dan ID kueri:

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

Tabel information_schema.mv_auto_refresh_jobs berisi hingga 1.024 catatan pembaruan otomatis tampilan materialisasi. Hanya tampilan materialisasi yang dikonfigurasi untuk memperbarui otomatis pada interval terjadwal menggunakan parameter START WITH atau NEXT yang disertakan dalam tabel.

Tabel information_schema.mv_auto_refresh_jobs tidak mencakup catatan pembaruan pertama saat tampilan materialisasi dibuat.

Contoh:

Kueri semua catatan pembaruan otomatis tampilan 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 pembaruan otomatis terbaru dari tampilan materialisasi compl_mv1 dalam keadaan tertunda di database demo.

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

Tabel berikut menjelaskan bidang umum dalam tabel information_schema.mv_auto_refresh_jobs.

Bidang

Deskripsi

MV_SCHEMA

Nama database tempat tampilan materialisasi berada.

MV_NAME

Nama tampilan materialisasi.

PROCESS_ID

ID kueri pekerjaan pembaruan.

SCHEDULED_START_TIME

Waktu mulai terjadwal pekerjaan pembaruan.

START_TIME

Waktu mulai aktual pekerjaan pembaruan.

END_TIME

Waktu selesai aktual pekerjaan pembaruan.

STATE

Status pekerjaan pembaruan. Nilai valid:

  • PENDING: Pekerjaan pembaruan sedang menunggu untuk dipicu.

  • RUNNING: Pekerjaan pembaruan sedang berlangsung. Jika beberapa tampilan materialisasi diperbarui pada saat yang sama, tampilan mungkin sedang menunggu sumber daya komputasi.

  • FINISHED: Pekerjaan pembaruan selesai.

  • FAILED: Pekerjaan pembaruan gagal. Jika pekerjaan pembaruan gagal, pekerjaan akan diulang sampai jumlah pengulangan yang diizinkan tercapai. Pekerjaan pembaruan dapat diulang hingga 10 kali. Jika pekerjaan pembaruan gagal setelah 10 kali pengulangan, pekerjaan pembaruan dibatalkan.

  • TIMEOUT: Pekerjaan pembaruan habis waktu dan gagal diselesaikan. Pekerjaan pembaruan dalam keadaan TIMEOUT dapat dipicu ulang.

Kueri catatan pembaruan manual

  • Untuk mengkueri catatan pembaruan manual tampilan materialisasi dalam 30 hari terakhir, gunakan fitur audit SQL. Setelah memasukkan REFRESH MATERIALIZED VIEW mv_name di bidang Kata Kunci pada tab Audit SQL XIHE, Anda dapat melihat informasi seperti waktu, durasi, alamat IP, dan akun database.

    Fitur audit SQL harus diaktifkan secara terpisah. Operasi SQL yang dilakukan sebelum aktivasi tidak termasuk dalam log audit.

    image

  • Untuk mengkueri catatan pembaruan manual dan otomatis tampilan materialisasi dalam 14 hari terakhir, gunakan fitur Diagnostik dan Optimasi SQL. Setelah memasukkan nama tampilan materialisasi, seperti compl_mv1, pada tab Diagnostik dan Optimasi SQL, Anda dapat melihat informasi tentang semua kueri SQL tampilan materialisasi, seperti waktu mulai, akun database, durasi, dan ID kueri.

    image

Ubah tampilan materialisasi

Anda dapat mengubah tampilan materialisasi standar menjadi tampilan materialisasi elastis, mengubah grup sumber daya yang digunakan oleh tampilan materialisasi, serta mengaktifkan atau menonaktifkan fitur penulisan ulang kueri.

Properti lain dari tampilan materialisasi, seperti nama, definisi, kebijakan pembaruan, dan mekanisme pemicu pembaruan, tidak dapat diubah.

Izin yang diperlukan

Anda memerlukan izin ALTER pada tampilan materialisasi. Untuk mendapatkan izin ini, buat akun istimewa atau akun standar dengan izin GRANT, lalu berikan izin ALTER ke akun tersebut melalui halaman Akun atau dengan menjalankan pernyataan GRANT ALTER ON database.mv_name TO username;.

Sintaksis

ALTER MATERIALIZED VIEW <mv_name>
[MV_PROPERTIES=<MV_PROPERTIES>]
[ENABLE|DISABLE QUERY REWRITE]
  • MV_PROPERTIES: properti tampilan materialisasi, termasuk parameter mv_resource_group dan mv_refresh_hints.

    mv_resource_group: grup sumber daya yang digunakan oleh tampilan materialisasi. Jika grup sumber daya yang ditentukan tidak ada, kesalahan terjadi saat Anda membuat tampilan materialisasi.

    mv_refresh_hints: parameter petunjuk tampilan materialisasi. Untuk informasi lebih lanjut, lihat bagian "Parameter petunjuk umum" dari topik Parameter konfigurasi dan petunjuk.

    Penting

    Nilai parameter <MV_PROPERTIES> yang ditentukan dalam pernyataan ALTER menimpa nilai parameter <MV_PROPERTIES> yang ditentukan saat pembuatan tampilan materialisasi.

    Sebagai contoh, jika Anda mengonfigurasi parameter mv_resource_group dan mv_refresh_hints saat pembuatan tampilan materialisasi, lalu hanya mengonfigurasi parameter mv_resource_group saat mengubahnya, parameter mv_resource_group akan diubah dan parameter mv_refresh_hints akan dihapus.

  • ENABLE|DISABLE QUERY REWRITE: mengaktifkan atau menonaktifkan fitur penulisan ulang kueri.

Contoh

  • Aktifkan fitur penulisan ulang kueri untuk tampilan materialisasi compl_mv1.

    ALTER MATERIALIZED VIEW compl_mv1 ENABLE QUERY REWRITE;
  • Ubah grup sumber daya yang digunakan oleh tampilan materialisasi elastis job_mv.

    ALTER MATERIALIZED VIEW job_mv 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2",
      "mv_refresh_hints":{"query_priority":"NORMAL"}
    }';
  • Ubah tampilan materialisasi standar compl_mv1 menjadi tampilan materialisasi elastis.

    ALTER MATERIALIZED VIEW compl_mv1 
    MV_PROPERTIES='{
      "mv_resource_group":"my_job_rg_2"
    }';

Hapus tampilan materialisasi

Menghapus tampilan materialisasi secara fisik juga akan menghapus data yang terkait.

Jika Anda menjalankan pernyataan DROP TABLE untuk menghapus tampilan materialisasi, pesan kesalahan serupa dengan demo.myview11 adalah tampilan materialisasi, gunakan DROP MATERIALIZED VIEW akan dikembalikan.

Izin yang diperlukan

Anda memerlukan izin DROP pada tampilan materialisasi. Untuk mendapatkan izin ini, buat akun istimewa atau akun standar dengan izin GRANT, lalu berikan izin DROP ke akun tersebut melalui halaman Akun atau dengan menjalankan pernyataan GRANT DROP ON database.mv_name TO username;.

Sintaksis

DROP MATERIALIZED VIEW <mv_name>

Contoh

Hapus tampilan materialisasi compl_mv1.

DROP MATERIALIZED VIEW compl_mv1;