Apa perbedaan antara Tampilan dan Tampilan Terwujud di Oracle?
345
Apa perbedaan antara Tampilan dan Tampilan Terwujud di Oracle?
Tampilan terwujud adalah berbasis disk dan diperbarui secara berkala berdasarkan definisi permintaan.
Tampilan hanya virtual dan menjalankan definisi permintaan setiap kali diakses.
Tampilan
Mereka mengevaluasi data dalam tabel yang mendasari definisi tampilan pada saat tampilan dipertanyakan . Ini adalah tampilan logis dari tabel Anda, tanpa data yang disimpan di tempat lain.
Kelebihan tampilan adalah bahwa ia akan selalu mengembalikan data terbaru kepada Anda . The downside dari pandangan adalah bahwa kinerjanya tergantung pada seberapa baik pernyataan pilih pandangan didasarkan pada. Jika pernyataan pilih yang digunakan oleh tampilan bergabung dengan banyak tabel, atau menggunakan gabungan berdasarkan kolom yang tidak diindeks, tampilan bisa berkinerja buruk.
Pandangan terwujud
Mereka mirip dengan tampilan biasa, karena itu adalah tampilan logis dari data Anda (berdasarkan pernyataan pilih), namun, set hasil kueri yang mendasarinya telah disimpan ke tabel . Sisi positifnya adalah ketika Anda meminta tampilan terwujud, Anda meminta tabel , yang mungkin juga diindeks.
Selain itu, karena semua gabungan telah diselesaikan pada waktu refresh tampilan terwujud, Anda membayar harga bergabung sekali (atau sesering Anda menyegarkan tampilan terwujud Anda), daripada setiap kali Anda memilih dari tampilan terwujud. Selain itu, dengan penulisan ulang kueri diaktifkan, Oracle dapat mengoptimalkan kueri yang memilih dari sumber tampilan terwujud Anda sedemikian rupa sehingga bukan membaca dari tampilan terwujud Anda. Dalam situasi di mana Anda membuat tampilan terwujud sebagai bentuk tabel agregat, atau sebagai salinan kueri yang sering dieksekusi, ini dapat sangat mempercepat waktu respons aplikasi pengguna akhir Anda. The downside adalah bahwa meskipun data Anda kembali dari tampilan terwujud hanya sebagai up to date sebagai terakhir kali muncul tampilan telah refresh .
Tampilan terwujud dapat diatur untuk menyegarkan secara manual, pada jadwal yang ditetapkan, atau berdasarkan database yang mendeteksi perubahan data dari salah satu tabel yang mendasarinya . Tampilan terwujud dapat diperbarui secara bertahap dengan menggabungkannya dengan log tampilan terwujud, yang bertindak sebagai sumber perubahan data pada tabel di bawahnya.
Tampilan terwujud paling sering digunakan dalam data pergudangan / aplikasi intelijen bisnis di mana kueri tabel fakta besar dengan ribuan juta baris akan menghasilkan waktu respons kueri yang menghasilkan aplikasi yang tidak dapat digunakan.
Pandangan terwujud juga membantu menjamin momen yang konsisten dalam waktu, mirip dengan isolasi snapshot .
sumber
Tampilan menggunakan kueri untuk menarik data dari tabel yang mendasarinya.
Tampilan terwujud adalah tabel pada disk yang berisi kumpulan hasil kueri.
Pandangan terwujud terutama digunakan untuk meningkatkan kinerja aplikasi ketika tidak layak atau tidak diinginkan untuk menggunakan tampilan standar dengan indeks yang diterapkan padanya. Tampilan terwujud dapat diperbarui secara berkala baik melalui pemicu atau dengan menggunakan
ON COMMIT REFRESH
opsi. Ini memang memerlukan beberapa izin tambahan, tetapi tidak rumit.ON COMMIT REFRESH
telah ada sejak setidaknya Oracle 10.sumber
Tampilan pada dasarnya adalah struktur seperti tabel yang dihuni dengan cepat oleh kueri yang diberikan. Hasil kueri tampilan tidak disimpan di mana pun di disk dan tampilan dibuat kembali setiap kali kueri dieksekusi. Pandangan terwujud adalah struktur aktual yang disimpan dalam database dan ditulis ke disk. Mereka diperbarui berdasarkan parameter yang ditentukan ketika mereka dibuat.
sumber
Tampilan terwujud - tabel pada disk yang berisi kumpulan hasil kueri
Tampilan tidak berbentuk - kueri yang menarik data dari tabel yang mendasarinya
sumber
Tampilan: Tampilan hanyalah kueri bernama. Itu tidak menyimpan apa pun. Ketika ada permintaan pada tampilan, itu menjalankan permintaan definisi tampilan. Data aktual berasal dari tabel.
Pandangan terwujud : Menyimpan data secara fisik dan diperbarui secara berkala. Saat meminta MV, ia memberikan data dari MV.
sumber
Menambah jawaban Mike McAllister yang cukup menyeluruh ...
Tampilan terwujud hanya dapat diatur untuk menyegarkan secara otomatis melalui database yang mendeteksi perubahan ketika kueri tampilan dianggap sederhana oleh kompiler. Jika itu dianggap terlalu kompleks, itu tidak akan dapat mengatur apa yang pada dasarnya pemicu internal untuk melacak perubahan dalam tabel sumber untuk hanya memperbarui baris yang diubah dalam tabel tinjau.
Saat Anda membuat tampilan yang terwujud, Anda akan menemukan bahwa Oracle menciptakan mview dan sebagai tabel dengan nama yang sama , yang dapat membuat hal-hal membingungkan.
sumber
Tampilan terwujud adalah pandangan logis dari data yang didorong oleh kueri pemilihan, tetapi hasil kueri akan disimpan dalam tabel atau disk, juga definisi kueri juga akan disimpan dalam database.
Kinerja tampilan terwujud lebih baik daripada tampilan normal karena data tampilan terwujud akan disimpan dalam tabel dan tabel dapat diindeks sehingga lebih cepat untuk bergabung juga bergabung dilakukan pada saat terwujud tampilan waktu refresh sehingga tidak perlu setiap kali api gabungkan pernyataan seperti dalam hal tampilan.
Perbedaan lainnya termasuk dalam hal Tampilan kami selalu mendapatkan data terbaru tetapi dalam kasus tampilan Terwujud kami perlu menyegarkan tampilan untuk mendapatkan data terbaru. Dalam kasus tampilan Terwujud kami membutuhkan pemicu tambahan atau metode otomatis agar kami dapat membuat MV segar, ini tidak diperlukan untuk tampilan dalam database.
sumber