Was ist der Unterschied zwischen Views und Materialized Views in Oracle?
Materialisierte Ansichten sind plattenbasiert und werden in regelmäßigen Abständen auf der Grundlage der Abfragedefinition aktualisiert.
Ansichten sind nur virtuell und führen die Abfragedefinition jedes Mal aus, wenn auf sie zugegriffen wird.
Eine Ansicht verwendet eine Abfrage, um Daten aus den zugrunde liegenden Tabellen zu ziehen.
Eine materialisierte Ansicht ist eine Tabelle auf der Festplatte, die die Ergebnismenge einer Abfrage enthält.
Materialisierte Ansichten werden in erster Linie verwendet, um die Anwendungsleistung zu erhöhen, wenn es nicht möglich oder wünschenswert ist, eine Standardansicht mit darauf angewendeten Indizes zu verwenden. Materialisierte Ansichten können regelmäßig aktualisiert werden, entweder durch Trigger oder durch Verwendung der Option ON COMMIT REFRESH
. Dies erfordert zwar ein paar zusätzliche Berechtigungen, ist aber nicht sehr komplex. Die Option ON COMMIT REFRESH
gibt es mindestens seit Oracle 10.
Ansichten sind im Wesentlichen logische, tabellenähnliche Strukturen, die von einer bestimmten Abfrage spontan aufgefüllt werden. Die Ergebnisse einer Ansichtsabfrage werden nicht auf der Festplatte gespeichert und die Ansicht wird bei jeder Ausführung der Abfrage neu erstellt. Materialisierte Ansichten sind tatsächliche Strukturen, die in der Datenbank gespeichert und auf die Festplatte geschrieben werden. Sie werden auf der Grundlage der bei ihrer Erstellung definierten Parameter aktualisiert.