Yanıtlar:
Gerçekleştirilen görünümler disk tabanlıdır ve sorgu tanımına göre periyodik olarak güncellenir.
Görünümler yalnızca sanaldır ve her erişildiğinde sorgu tanımını çalıştırır.
Görünüm sorgulanırken görünüm tanımının altında yatan tablolardaki verileri değerlendirir . Başka hiçbir yerde veri depolanmayan, tablolarınızın mantıksal bir görünümüdür.
Bir görünümün üst tarafı, her zaman en son verileri size geri vermesidir . Bir bakış olumsuz performansı olmasıdır görünüm dayanmaktadır ne kadar iyi bir select ifadesi bağlıdır. Görünüm tarafından kullanılan select deyimi birçok tabloya katılırsa veya dizine eklenmemiş sütunlara dayalı birleştirmeler kullanırsa, görünüm kötü performans gösterebilir.
Normal görünümlere benzerler, çünkü verilerinizin mantıksal bir görünümüdür (bir select deyimine dayanarak), ancak temel alınan sorgu sonuç kümesi bir tabloya kaydedilmiştir . Bunun tersi, somutlaştırılmış bir görünümü sorguladığınızda , dizine eklenebilecek bir tabloyu sorgulamanızdır .
Buna ek olarak, tüm birleşimler materyalize görünüm yenileme zamanında çözüldüğünden, birleştirme fiyatını, materyalize görünümden her seçtiğinizde değil, bir kez (veya materyalize görünümünüzü yenilediğiniz sıklıkta) ödersiniz. Ayrıca, sorgu yeniden yazma etkinken Oracle, materyalize görünümünüzün kaynağından seçilen bir sorguyu, materyalize görünümünüzden okuyacak şekilde optimize edebilir. Toplu tablolar veya sık yürütülen sorguların kopyaları olarak somutlaştırılmış görünümler oluşturduğunuz durumlarda, bu, son kullanıcı uygulamanızın yanıt süresini büyük ölçüde hızlandırabilir. Olumsuz olsa veriler yalnızca yukarı bakış yenilendi gerçekleşmiş son kez olarak tarihe geri hayata bakış aldığım olmasıdır .
Gerçekleştirilmiş görünümler manuel olarak, belirli bir zamanlamaya göre veya temel tablolardan birindeki verilerde bir değişiklik algılayan veritabanına dayalı olarak ayarlanabilir . Gerçekleştirilen görünümler , temeldeki tablolarda veri yakalama kaynakları olarak işlev gören materyalize görünüm günlükleriyle birleştirilerek aşamalı olarak güncellenebilir .
Gerçekleştirilen görünümler çoğunlukla, binlerce milyon satırlık büyük bilgi tablolarını sorgulamanın, kullanılamaz bir uygulama ile sonuçlanan sorgu yanıt süreleriyle sonuçlanacağı veri ambarı / iş zekası uygulamalarında kullanılır.
Maddi görünümler, anlık görüntü izolasyonuna benzer şekilde, zaman içinde tutarlı bir anın garanti edilmesine yardımcı olur .
Bir görünüm, temel tablolardan veri çekmek için bir sorgu kullanır.
Malzeme görünümü, diskteki bir sorgunun sonuç kümesini içeren bir tablodur.
Gerçekleştirilmiş görünümler öncelikle, uygulanabilir dizinler veya ona uygulanan dizinlerle standart bir görünüm kullanılması istenmediğinde uygulama performansını artırmak için kullanılır. Gerçekleştirilen görünümler, tetikleyiciler aracılığıyla veya ON COMMIT REFRESH
seçenek kullanılarak düzenli olarak güncellenebilir . Bu birkaç ekstra izin gerektirir, ancak karmaşık bir şey değildir. ON COMMIT REFRESH
en az Oracle 10'dan beri yürürlükte.
Görünümler esasen belirli bir sorgu ile anında doldurulan mantıksal tablo benzeri yapılardır. Görünüm sorgusunun sonuçları disk üzerinde hiçbir yerde saklanmaz ve sorgu her yürütüldüğünde görünüm yeniden oluşturulur. Gerçekleştirilmiş görünümler, veritabanında depolanan ve diske yazılan gerçek yapılardır. Oluşturulduklarında tanımlanan parametrelere göre güncellenir.
Görünüm: Görünüm yalnızca adlandırılmış bir sorgudur. Hiçbir şey saklamaz. Görünümde bir sorgu olduğunda, görünüm tanımının sorgusunu çalıştırır. Gerçek veriler tablodan gelir.
Gerçekleştirilmiş görünümler: Verileri fiziksel olarak depolar ve periyodik olarak güncellenir. MV sorgulanırken, MV veri verir.
Mike McAllister'ın oldukça ayrıntılı cevabına ekleniyor ...
Gerçekleştirilmiş görünümler, yalnızca görünüm sorgusu basit kabul edildiğinde değişiklikleri algılayarak veritabanı üzerinden otomatik olarak yenilenecek şekilde ayarlanabilir derleyici tarafından . Çok karmaşık olduğu düşünülürse, yalnızca mview tablosundaki değiştirilen satırları güncellemek için kaynak tablolardaki değişiklikleri izlemek için esas olarak dahili tetikleyicilerin ne olacağını ayarlayamaz.
Gerçekleştirilmiş bir görünüm oluşturduğunuzda, Oracle'ın hem mview'i hem de aynı ada sahip bir tablo olarak oluşturduğunu göreceksiniz , bu da işleri kafa karıştırıcı hale getirebilir.
Gerçekleştirilmiş görünümler, seçme sorgusu tarafından yönlendirilen verilerin mantıksal görünümüdür, ancak sorgunun sonucu tabloda veya diskte depolanır, ayrıca sorgunun tanımı da veritabanında depolanır.
Materyalleştirilmiş görünümün performansı normal görünümden daha iyidir çünkü materyalize görünüm verileri tabloda ve tabloda saklanacaktır. görünüm durumunda olduğu gibi ifadeye katılın.
Diğer fark, View durumunda her zaman en son verileri alırız, ancak Materialized view durumunda en son verileri almak için görünümü yenilememiz gerekir. Materyalleştirilmiş görünüm durumunda, MV'nin yenilenmesini sağlayabilmemiz için fazladan bir tetikleyiciye veya otomatik bir yönteme ihtiyacımız vardır, bu veritabanındaki görünümler için gerekli değildir.