Setelah membuat tampilan yang di-materialisasi, Anda dapat mengelola semua tampilan tersebut dalam kluster AnalyticDB for MySQL. Misalnya, Anda dapat mengkueri catatan refresh, mengkueri definisi, mengubah kelompok sumber daya elastis yang digunakan, mengaktifkan atau menonaktifkan fitur query rewrite, serta menghapus tampilan yang di-materialisasi.
Mengkueri definisi tampilan yang di-materialisasi
Anda dapat mengkueri pernyataan DDL yang digunakan untuk membuat tampilan yang di-materialisasi.
Izin yang diperlukan
Anda harus memiliki izin SELECT pada tampilan yang di-materialisasi tersebut. Untuk mendapatkan izin ini, akun istimewa atau akun standar yang memiliki izin GRANT dapat memberikan izin SELECT kepada akun Anda melalui halaman Account Management di Konsol atau dengan menjalankan pernyataan GRANT SELECT ON database.mv_name TO username;.
Sintaks
SHOW CREATE MATERIALIZED VIEW <mv_name>Contoh
Mengkueri pernyataan DDL yang digunakan untuk membuat tampilan yang di-materialisasi compl_mv1.
SHOW CREATE MATERIALIZED VIEW demo.compl_mv1;Mengkueri metadata tampilan yang di-materialisasi
Deskripsi bidang
Tabel `information_schema.mv_info` berisi metadata semua tampilan yang di-materialisasi. Jika ingin mengkueri definisi satu tampilan yang di-materialisasi, kami menyarankan Anda menjalankan pernyataan SHOW CREATE MATERIALIZED VIEW.
Tabel berikut menjelaskan bidang-bidang umum dalam tabel information_schema.mv_info.
Bidang | Deskripsi |
MV_SCHEMA | Nama database tempat tampilan yang di-materialisasi berada. |
MV_NAME | Nama tampilan yang di-materialisasi. |
MV_DEFINITION | Pernyataan DDL yang digunakan untuk membuat tampilan yang di-materialisasi. |
MV_QUERY | Kueri SQL asli dari tampilan yang di-materialisasi. |
FIRST_REFRESH_TIME | Waktu refresh pertama jika tampilan yang di-materialisasi dikonfigurasi untuk melakukan refresh secara otomatis. |
NEXT_REFRESH_TIME_FUNC | Fungsi yang digunakan untuk memperkirakan waktu refresh berikutnya jika tampilan yang di-materialisasi dikonfigurasi untuk melakukan refresh secara otomatis. |
OWNER | Pembuat tampilan yang di-materialisasi. |
QUERY_SCHEMA | Nama database tempat pernyataan pembuatan tampilan yang di-materialisasi dieksekusi. |
REFRESH_CONDITION | Mekanisme pemicu refresh
|
REFRESH_STATE | Kebijakan refresh tampilan yang di-materialisasi.
|
UPDATE_TIME | Waktu terakhir metadata tampilan yang di-materialisasi diperbarui. |
Contoh
Menghitung jumlah seluruh tampilan yang di-materialisasi dalam kluster.
SELECT count(*) FROM information_schema.mv_info;Mengkueri metadata untuk semua tampilan yang di-materialisasi.
SELECT * FROM information_schema.mv_info;
Mengkueri semua tampilan yang di-materialisasi
Anda dapat mengkueri semua tampilan yang di-materialisasi yang memiliki izin SELECT di suatu database. Jika Anda menentukan pola SQL, semua tampilan yang di-materialisasi yang sesuai dengan pola tersebut akan dikembalikan.
Izin yang diperlukan
Anda harus memiliki izin SELECT pada semua tampilan yang di-materialisasi di database yang ditentukan. Jika tidak memiliki izin ini, akun istimewa atau akun standar yang memiliki izin GRANT dapat memberikannya kepada akun Anda melalui halaman Accounts di Konsol atau menggunakan pernyataan SQL GRANT SELECT ON database.* TO username;.
Sintaks
Mengkueri semua tampilan yang di-materialisasi di database saat ini.
SHOW MATERIALIZED VIEWS [LIKE 'pattern']Mengkueri semua tampilan yang di-materialisasi di database tertentu. Anda dapat menentukan database selain database saat ini.
SELECT * FROM information_schema.mv_info WHERE mv_schema='schema_name';Contoh
Mengkueri semua tampilan yang di-materialisasi di database saat ini.
SHOW MATERIALIZED VIEWS;Mengkueri semua tampilan yang di-materialisasi yang namanya diawali dengan compl di database saat ini.
SHOW MATERIALIZED VIEWS LIKE 'compl%';CatatanUntuk informasi lebih lanjut tentang cara menggunakan `LIKE 'pattern'`, lihat String functions.
Mengkueri semua tampilan yang di-materialisasi di database demo.
SELECT * FROM information_schema.mv_info WHERE mv_schema='demo';
Mengkueri catatan refresh tampilan yang di-materialisasi
Melihat catatan penyegaran otomatis
Sintaks
Anda dapat menjalankan pernyataan berikut untuk mengkueri catatan refresh otomatis tampilan yang di-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 refresh otomatis tampilan yang di-materialisasi. Hanya tampilan yang di-materialisasi yang dikonfigurasi untuk melakukan refresh otomatis pada interval terjadwal menggunakan parameter START WITH atau NEXT yang dimasukkan ke dalam tabel ini.
Tabel `information_schema.mv_auto_refresh_jobs` tidak mencakup catatan refresh pertama yang terjadi setelah pembuatan.
Contoh
Mengkueri semua catatan refresh otomatis 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';Mengkueri pekerjaan refresh otomatis terbaru yang sedang tertunda (pending) 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';
Deskripsi bidang
Deskripsi 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 tugas refresh. |
SCHEDULED_START_TIME | Waktu mulai terjadwal dari pekerjaan refresh. |
START_TIME | Waktu mulai aktual dari pekerjaan refresh. |
END_TIME | Waktu selesai aktual dari pekerjaan refresh. |
STATE | Status refresh.
|
Menampilkan Catatan Penyegaran Manual
Untuk mengkueri catatan refresh manual dari 30 hari terakhir, gunakan fitur Audit SQL. Masukkan
REFRESH MATERIALIZED VIEW mv_namedi bidang Keyword pada tab SQL Audit. Anda kemudian dapat melihat waktu, durasi, alamat IP, dan username untuk setiap refresh manual.CatatanAnda harus mengaktifkan fitur Audit SQL. Operasi SQL yang terjadi sebelum fitur ini diaktifkan tidak dicatat dalam log audit.

Untuk mengkueri catatan refresh manual dan otomatis dari 14 hari terakhir, gunakan fitur diagnostik dan optimasi SQL. Masukkan nama tampilan yang di-materialisasi, seperti
compl_mv1, pada tab SQL Diagnostics and Optimization. Anda kemudian dapat melihat waktu mulai, username, durasi, dan ID kueri untuk semua kueri SQL terkait, termasuk pembuatan, refresh manual, refresh otomatis, dan modifikasi.
Memodifikasi tampilan yang di-materialisasi
Anda dapat mengubah tampilan yang di-materialisasi standar menjadi elastic materialized view, mengubah kelompok sumber dayanya, mengaktifkan atau menonaktifkan fitur query rewrite-nya, atau mengganti namanya.
Anda tidak dapat mengubah properti lainnya, seperti definisi, kebijakan refresh, atau mekanisme pemicu refresh.
Izin yang diperlukan
Anda harus memiliki izin ALTER pada tampilan yang di-materialisasi tersebut. Jika tidak memiliki izin ini, akun istimewa atau akun standar yang memiliki izin GRANT harus memberikan izin ALTER kepada akun Anda. Hal ini dapat dilakukan melalui halaman Account Management di Konsol atau dengan menjalankan pernyataan SQL 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>]MV_PROPERTIES: Properti tampilan yang di-materialisasi, termasuk parameter `mv_resource_group` dan `mv_refresh_hints`.mv_resource_group: kelompok sumber daya yang digunakan oleh tampilan yang di-materialisasi. Jika kelompok sumber daya yang ditentukan tidak ada, terjadi error saat membuat tampilan yang di-materialisasi.
mv_refresh_hints: parameter hint dari tampilan yang di-materialisasi. Untuk informasi lebih lanjut, lihat bagian "Common hint parameters" dalam topik Config and hint configuration parameters.
PentingNilai parameter
<MV_PROPERTIES>yang ditentukan dalam pernyataan `ALTER` akan menimpa nilai parameter<MV_PROPERTIES>yang ditentukan saat membuat tampilan yang di-materialisasi.Misalnya, asumsikan Anda mengonfigurasi parameter
mv_resource_groupdanmv_refresh_hintssaat membuat tampilan yang di-materialisasi. Jika kemudian Anda hanya mengonfigurasi parametermv_resource_groupdalam pernyataan `ALTER`, maka parametermv_resource_groupakan dimodifikasi dan parametermv_refresh_hintsakan dihapus setelah pernyataan tersebut dijalankan.ENABLE|DISABLE QUERY REWRITE: Mengaktifkan atau menonaktifkan fitur query rewrite.RENAME <new_mv_name>: Mengganti nama tampilan yang di-materialisasi.
Contoh
Mengaktifkan fitur query rewrite untuk tampilan yang di-materialisasi
compl_mv1.ALTER MATERIALIZED VIEW compl_mv1 ENABLE QUERY REWRITE;Mengubah 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"} }';Mengubah tampilan yang di-materialisasi standar
compl_mv1menjadi elastic materialized view.ALTER MATERIALIZED VIEW compl_mv1 MV_PROPERTIES='{ "mv_resource_group":"my_job_rg_2" }';Mengganti nama tampilan yang di-materialisasi `mv1` menjadi `mv2`.
ALTER MATERIALIZED VIEW mv1 RENAME mv2;
Menghapus tampilan yang di-materialisasi
Jika Anda menghapus tampilan yang di-materialisasi secara fisik, tampilan tersebut beserta datanya akan dihapus.
Jika Anda menjalankan `DROP TABLE` untuk menghapus tampilan yang di-materialisasi, sistem akan mengembalikan error. Contohnya: demo.myview11 is materialized view, use DROP MATERIALIZED VIEW.
Izin yang diperlukan
Anda harus memiliki izin DROP pada tampilan yang di-materialisasi tersebut. Jika tidak memiliki izin ini, akun istimewa atau akun standar yang memiliki izin GRANT harus memberikan izin DROP kepada akun Anda. Hal ini dapat dilakukan melalui halaman Accounts di Konsol atau dengan menjalankan pernyataan SQL GRANT DROP ON database.mv_name TO username;.
Sintaks
DROP MATERIALIZED VIEW <mv_name>Contoh
Menghapus tampilan yang di-materialisasi compl_mv1.
DROP MATERIALIZED VIEW compl_mv1;