Was ist der Unterschied zwischen Views und Materialized Views in Oracle?
Antworten
Zu viele Anzeigen?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.
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.
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.
- See previous answers
- Weitere Antworten anzeigen