Frage

Was ist der Unterschied zwischen Ansichten und Materialized Views in Oracle?

War es hilfreich?

Lösung

Materialisierten Ansichten sind Disk-basierten und aktualisiert werden auf der Query-Definition periodisch berechnet.

Views sind virtuelle nur und der Abfragedefinition laufen jedes Mal auf sie zugegriffen wird.

Andere Tipps

Ansichten

Sie werten die Daten in den Tabellen die Sichtdefinition zu dem Zeitpunkt zugrunde liegen die Ansicht abgefragt . Es ist eine logische Sicht auf Ihren Tabellen, mit keinen Daten irgendwo anders gespeichert.

Der Kopf einer Ansicht ist, dass es immer die neuesten Daten zurück zu Ihnen . Der Nachteil einer Ansicht ist, dass seine Leistung hängt davon ab, wie gut eine select-Anweisung der Ansicht basiert. Wenn die select-Anweisung von der Ansicht verwendet, um viele Tabellen verknüpft oder Joins Anwendungen auf Basis von nicht-indizierten Spalten könnte die Sicht schlecht abschneiden.

materialisierten Ansichten

Sie sind ähnlich wie reguläre Ansichten, daß es sich um eine logische Sicht auf Ihre Daten (basierend auf einer select-Anweisung), aber die zugrunde liegenden Abfrageergebnis wurde zu einer Tabelle gespeichert . Der Vorteil davon ist, dass, wenn Sie abfragen, um eine materialisierte Ansicht, Sie abfragen eine Tabelle , die auch indiziert werden können.

Darüber hinaus, weil alle an materialisierten Ansicht Refresh-Zeit behoben wurde Joins, zahlen Sie den Preis für die Verbindung einmal (oder so oft wie Sie aktualisieren Sie Ihre Ansicht materialisierten), anstatt jedes Mal, wenn Sie von der materialisierten Ansicht wählen. Darüber hinaus mit Umschreiben von Abfragen aktiviert ist, kann Oracle eine Abfrage optimieren, die in einer solchen Art und Weise von der Quelle Ihrer materialisierte Ansicht wählt, dass es stattdessen liest aus Ihrer Sicht materialisiert. In Situationen, in denen Sie materialisieren Ansichten als Formen der aggregierten Tabellen oder als Kopien von häufig ausgeführte Abfragen erstellen, kann dies erheblich beschleunigt die Reaktionszeit Ihrer Endbenutzer-Anwendung. Der Nachteil ist aber, dass die Daten, die Sie von der materialisierten Ansicht bekommen, sind nur so aktuell wie das letzte Mal hat die materialisierte Ansicht aktualisiert worden .


Materialisieren Ansichten können eingestellt werden manuell zu aktualisieren, auf einem festgelegten Zeitplan oder auf der Grundlage der Datenbank, die eine Änderung der Daten von einem der zugrundeliegenden Tabellen Erkennung . Materialisierten Sichten sie mit materialisierte Ansicht Protokolle durch die Kombination von inkrementell aktualisiert werden können, die wirken als Wechseldatenerfassungsquellen auf den zugrundeliegenden Tabellen.

Materialisierten Ansichten werden am häufigsten im Bereich Data Warehousing / Business Intelligence-Anwendungen eingesetzt, in denen große Faktentabellen Abfragen mit Tausenden von Millionen von Zeilen in Abfrageantwortzeiten führen würden, die in einer unbrauchbaren Anwendung geführt.


materialisierten Ansichten auch dazu beitragen, einen konsistenten Zeitpunkt zu garantieren, ähnlich href="https://en.wikipedia.org/wiki/Snapshot_isolation" rel="noreferrer"> Snapshot-Isolation

Eine Ansicht verwendet eine Abfrage von Daten aus den zugrunde liegenden Tabellen zu ziehen.

Ein materialisierte Ansicht eine Tabelle auf der Festplatte ist, die die Ergebnismenge einer Abfrage enthält.

Materialisierte Ansichten werden in erster Linie zur Steigerung der Anwendungsleistung verwendet wird, wenn es nicht möglich oder wünschenswert ist, eine Standardansicht mit Indizes auf sie angewendet zu verwenden. Materialisierte Ansichten können in regelmäßigen Abständen entweder durch Triggern aktualisiert werden oder durch die ON COMMIT REFRESH Option. Dies hat ein paar zusätzliche Berechtigungen erforderlich sind, aber es ist nichts kompliziert. ON COMMIT REFRESH mindestens seit Oracle 10 in Kraft.

Ansichten sind im Wesentlichen logische tabellenartige Strukturen on the fly durch eine bestimmte Abfrage gefüllt. Die Ergebnisse einer Ansicht Abfrage sind nicht überall auf der Festplatte gespeichert und die Ansicht jedes Mal neu erstellt wird die Abfrage ausgeführt wird. Materialisierte Ansichten sind tatsächliche Strukturen innerhalb der Datenbank gespeichert und auf die Platte geschrieben. Sie basieren auf den Parametern aktualisiert definiert, wenn sie erstellt werden.

materialisierten Ansicht - eine Tabelle auf einem Datenträger, der die Ergebnismenge einer Abfrage enthält

Nicht-materiased Ansicht - eine Abfrage, die Daten aus der zugrunde liegenden Tabelle zieht

: ist nur eine benannte Abfrage. Es hat nichts zu speichern. Wenn es eine Abfrage zu sehen ist, läuft er die Abfrage der View-Definition. Die tatsächlichen Daten stammen aus der Tabelle.

materialisierten Ansichten: Speichern Daten physisch und in regelmäßigen Abständen aktualisiert. Während MV abfragt, gibt es Daten von MV.

Das Hinzufügen Mike McAllister pretty-ausführliche Antwort ...

materialisierten Sichten können nur auffrischen eingestellt werden automatisch durch die Datenbankänderungen festzustellen, wenn die Ansicht Abfrage betrachtet einfach durch den Compiler. Wenn es zu komplex betrachtet hat, wird es nicht in der Lage sein zu gründen, was im Wesentlichen interner Trigger nur Änderungen in den Quellentabellen verfolgen die geändertenen Zeilen in der mview Tabelle zu aktualisieren.

Wenn Sie eine materialisierte Ansicht erstellen, werden Sie feststellen, dass Oracle sowohl die mview schafft und als Tabelle mit dem gleichen Namen , die Dinge verwirrend machen kann.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top