Salah satu manfaat terbesar dari menggunakan tampilan terwujud adalah bahwa Oracle menjaga agar data tetap sinkron. Jika Anda memiliki tabel agregat terpisah, Anda bertanggung jawab untuk menjaga sinkronisasi data. Itu umumnya memerlukan jumlah kode yang wajar dan jumlah pengujian yang layak dan sebagian besar organisasi berhasil membuat kesalahan yang membuat lubang yang menyebabkan tabel agregat keluar dari sinkronisasi. Ini terutama benar ketika Anda mencoba menerapkan penyegaran tambahan tabel agregat.
Manfaat utama lainnya adalah, tergantung pada pengaturannya, Oracle dapat menggunakan penulisan ulang kueri untuk menggunakan tampilan terwujud ketika pengguna mengeluarkan kueri terhadap tabel dasar. Jadi, misalnya, jika Anda memiliki banyak laporan yang ada terhadap tabel detail yang menghasilkan hasil agregat harian, bulanan, dan tahunan, Anda dapat membuat tampilan terwujud pada tabel dasar yang mengumpulkan data pada tingkat harian dan pengoptimal dapat memanfaatkan tampilan terwujud untuk semua pertanyaan Anda yang ada. Ini membuatnya lebih mudah untuk mengoptimalkan beban kerja pelaporan di gudang data tanpa mencoba untuk pergi dan menulis ulang lusinan laporan untuk menggunakan tabel agregat baru Anda atau mengacaukan DBMS_ADVANCED_REWRITE
untuk memaksa penulisan ulang Anda sendiri dari kueri.
ON DEMAND
adalah perilaku penyegaran default. Tampilan terwujud harus dibuat denganON COMMIT
. dan mempertahankan tampilan terwujud tidak gratis. Ini mungkin lebih murah daripada pemicu.Satu kasus yang baik untuk menggunakan MV adalah bahwa beberapa kali Anda ingin mengumpulkan data dan mendapatkan informasi ringkasan ini dari tabel besar secara sering dan cepat. Tanpa tampilan terwujud, Anda harus melakukan deonormalisasi beberapa tabel Anda dan mempertahankan agregat melalui kode atau berulang kali memindai set baris besar. Apa pun caranya tidak selalu dapat diterima secara khusus dengan dasbor dan aplikasi online serupa. Jika Anda menyimpan hasilnya dalam tabel terpisah, Anda memperumit kode aplikasi Anda dan seperti yang dikatakan @Justin Cave, Anda akan bertanggung jawab untuk memastikan bahwa data yang dikumpulkan secara manual selaras. dengan data tabel asli.
sumber
Bukan orang Oracle, tetapi use case lain akan menjadi solusi pihak ketiga. Mereka umumnya tidak mendukung Anda membuat perubahan pada desain mereka tetapi MV akan "tidak terlihat" dengan kode mereka tetapi memberikan akses ke laporan kustom / ekstrak data.
Ini tidak gratis karena biayanya adalah biaya penyimpanan dan berpotensi memasukkan biaya / memperbarui waktu tetapi dapat diimbangi dengan waktu yang dihabiskan untuk mengambil data terwujud versus "pandangan lurus" atau membuat tabel aktual dan mempertahankan ETL di sekitarnya.
Akhirnya, hal itu dapat membatalkan kontrak dukungan Anda dengan vendor, berkonsultasi dengan pengacara Anda-bla-bla-bla
sumber
Alih-alih langsung ke tampilan Terwujud biarkan saya menjelaskan Tampilan .
Pada dasarnya pandangan ada secara logis tidak seperti tabel. Jika kita ingin menyembunyikan kolom tertentu untuk pengguna, kita tidak bisa menggunakan tabel. Membuat tampilan kita bisa mencapai keamanan.
Kasus penggunaan: jika tampilan terkait secara internal dengan 10 tabel bersama dengan grup oleh dan fungsi memiliki jutaan baris, dibutuhkan banyak waktu untuk mengeksekusi.
Jadi, inilah tampilan terwujud yang membantu kami mendapatkan data lebih cepat. Pandangan terwujud secara fisik ada dalam database. Setiap kali tabel dasar diperbarui, tampilan Materialized akan diperbarui.
sumber
Tampilan terwujud dapat diatur untuk menyegarkan secara otomatis secara berkala. Sebuah tabel mungkin memerlukan kode tambahan untuk memotong / memuat ulang data.
contoh: Tampilan terwujud memiliki data dari beberapa tabel dapat diatur untuk menyegarkan secara otomatis selama jam non-puncak. Tabel fisik akan membutuhkan kode tambahan untuk memotong / memuat ulang data.
Keamanan dapat lebih dikendalikan dalam tampilan yang terwujud daripada sebuah tabel.
sumber
Tampilan terwujud adalah objek database yang berisi hasil kueri. Mereka adalah salinan lokal dari data yang terletak jarak jauh, atau digunakan untuk membuat tabel ringkasan berdasarkan agregasi data tabel. http://www.oraappdata.com/2016/04/materialized-view.html
sumber