450 Stimmen

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

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

15voto

smshafiqulislam Punkte 534

Ansicht: View ist nur eine benannte Abfrage. Sie speichert nichts. Wenn es eine Abfrage zur Ansicht gibt, wird die Abfrage der Ansichtsdefinition ausgeführt. Die tatsächlichen Daten stammen aus der Tabelle.

Materialisierte Ansichten: Speichert Daten physisch und wird regelmäßig aktualisiert. Bei der Abfrage von MV werden Daten aus MV geliefert.

5voto

Stew S Punkte 549

Ergänzend zu Mike McAllisters ziemlich ausführlicher Antwort...

Materialisierte Ansichten können nur zum Aktualisieren eingestellt werden automatisch durch die Datenbank, um Änderungen festzustellen, wenn die Abfrage der Ansicht berücksichtigt wird einfach durch den Compiler. Wenn er als zu komplex angesehen wird, kann er keine internen Trigger einrichten, die Änderungen in den Quelltabellen verfolgen und nur die geänderten Zeilen in der Tabelle mview aktualisieren.

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

5voto

Dhirendra Gautam Punkte 569

Materialisierte Ansichten sind die logische Ansicht der Daten, die durch die Select-Abfrage gesteuert werden, aber das Ergebnis der Abfrage wird in der Tabelle oder auf der Festplatte gespeichert, auch die Definition der Abfrage wird auch in der Datenbank gespeichert.

Die Leistung der materialisierten Ansicht ist besser als die normale Ansicht, weil die Daten der materialisierten Ansicht in der Tabelle gespeichert werden und die Tabelle so schneller indiziert werden kann, um auch die Verbindung zum Zeitpunkt der Aktualisierungszeit der materialisierten Ansicht durchzuführen, so dass keine Notwendigkeit besteht, jedes Mal eine Verbindungsanweisung wie im Fall der Ansicht zu starten.

Ein weiterer Unterschied besteht darin, dass wir im Falle der Ansicht immer die neuesten Daten erhalten, aber im Falle der materialisierten Ansicht müssen wir die Ansicht aktualisieren, um die neuesten Daten zu erhalten. Im Falle der materialisierten Ansicht benötigen wir einen zusätzlichen Trigger oder eine automatische Methode, damit wir MV aktualisiert halten können, dies ist für Ansichten in der Datenbank nicht erforderlich.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X