Unterschied zwischen Sicht und materialisierter Sicht

Unterschied zwischen Sicht und materialisierter Sicht

Ansicht gegen materialisierte Ansicht

Ansichten und materialisierte Ansichten (MViews) sind zwei Arten von Oracle -Datenbankobjekten. Beide Objekte beziehen sich ausgewählte Abfragen. Diese ausgewählten Abfragen fungieren als virtuelle Tabellen. Normalerweise beziehen sich Ansichten und MViews große Auswahlabfragen, die eine Reihe von Verbindungen haben. Daher können wir eine der Hauptvorteile von Ansichten darin bestehen, dass wir komplexe ausgewählte Abfragen als Ansichten speichern können. Daher können wir die Logik hinter den Auswahlabfragen von den Endbenutzern verbergen. Wenn wir die komplexe Auswahlanweisung ausführen müssen, müssen wir nur ausführen

                      Wählen Sie * aus ViewName aus

Sicht

Wie bereits erwähnt, handelt es sich um eine virtuelle Tabelle, in der eine Auswahlabfrage ausgewählt wird. Diese ausgewählten Abfragen sind nicht vorangezogen. Wenn wir eine SELECT -Anweisung aus einer Ansicht ausführen, wird die Auswahlanweisung ausgestellt, die sich in der Ansichtsbehörde befindet. Nehmen wir die Auswahlanweisung des Ansichtskörpers als eine sehr komplexe Aussage an. Wenn es also ausgeführt wird, dauert es einige Zeit, um auszuführen (relativ mehr Zeit). Darüber hinaus nutzt View einen sehr kleinen Raum, um sich selbst zu speichern. Das liegt daran, dass es nur eine ausgewählte Anweisung als Inhalt hat.

Materialisierte Ansicht (MView)

Dies ist eine besondere Sichtweise. MViews werden erstellt, wenn wir Leistungsprobleme mit Ansichten haben. Wenn wir eine MView erstellen, führt sie seine Auswahlabfrage aus und speichert ihre Ausgabe als Snapshot -Tabelle. Wenn wir Daten von MView anfordern, muss die Auswahlanweisung nicht erneut ausgeführt werden. Es gibt die Ausgabe aus seiner Snapshot -Tabelle. Daher ist die Ausführungszeit von MView geringer als die Ansicht (für die gleiche Auswahlanweisung). MViews kann jedoch nicht alle Zeit. Wir sollten die MView aktualisieren, um das neueste Ergebnissatz zu erhalten.

Was ist der Unterschied zwischen Ansicht und Mview?

1. MView speichert seine Ausgabe immer als Snapshot -Tabelle, wenn sie erstellt wird, aber die Ansicht erstellt keine Tabellen.

2. View benötigt keinen großen Platz, um seinen Inhalt zu speichern, aber MView benötigt relativ größer als eine Ansicht, um seine Inhalte zu speichern (als Snapshot -Tabelle). 

3. Die Ansicht benötigt eine größere Ausführungszeit, MView nimmt jedoch eine kleinere Ausführungszeit als Ansichten (für dieselbe SELECT -Anweisung).

4. MViews müssen aktualisiert werden, um die neuesten Daten zu erhalten, aber Ansichten geben immer seine neuesten Daten an.

5. Das Schema braucht "Erstellen Sie materialisierte Ansicht" Privileg, MViews zu erstellen, und für Ansichten benötigt es "Ansicht erstellen" Privileg.

6. In MViews können Indizes erstellt werden, um mehr Leistung zu erzielen. In den Ansichten können jedoch keine Indizes erstellt werden.