Empfohlen, 2020

Tipp Der Redaktion

Unterschied zwischen Ansicht und materialisierter Ansicht

Bisher haben wir über Originaltabellen gesprochen, die in physischer Form in Datenbanken gespeichert sind. Hier haben wir Zugriff auf alle Attribute der Tabellen. Was ist, wenn wir einen Benutzer auf den Zugriff auf einige Attribute der Tabelle und den Zugriff auf die anderen Attribute beschränken müssen. Ein Sachbearbeiter in einer Verwaltungsabteilung kann beispielsweise nach Namen, Adresse, Bezeichnung, Alter und anderen Faktoren einer Mitarbeitertabelle suchen. Er darf jedoch nicht befugt sein, das Gehalt eines Angestellten einzusehen oder darauf zuzugreifen.

In solchen Fällen muss eine virtuelle Tabelle erstellt werden können, die nur die erforderlichen Attribute einer Tabelle anzeigen kann. Dies ist über die Ansicht und die materialisierte Ansicht möglich, auf die wir in diesem Artikel eingehen. Wir werden auch die Unterschiede zwischen Ansicht und materialisierter Ansicht mit Hilfe der folgenden Vergleichstabelle besprechen:

Vergleichstabelle

VergleichsgrundlageAussichtMaterialisierte Ansicht
BasicEine Ansicht wird niemals gespeichert, sondern nur angezeigt.Eine materialisierte Ansicht wird auf der Festplatte gespeichert.
DefinierenAnsicht ist die virtuelle Tabelle, die aus einer oder mehreren Basistabellen oder Ansichten gebildet wird.Die materialisierte Ansicht ist eine physische Kopie der Basistabelle.
AktualisierenDie Ansicht wird bei jeder Verwendung der virtuellen Tabelle (View) aktualisiert.Die materialisierte Ansicht muss manuell oder mithilfe von Auslösern aktualisiert werden.
GeschwindigkeitLangsame VerarbeitungSchnelle Abwicklung.
SpeichernutzungView benötigt keinen Speicherplatz.Materialized View verwendet Speicherplatz.
SyntaxAnsicht V erstellen alsMaterialisierte Ansicht erstellen V Build [Klausel] Aktualisieren [Klausel] Bei [Auslöser] als

Definition von Ansicht

View ist eine virtuelle Tabelle, die mit dem Befehl View View erstellt wurde . Diese virtuelle Tabelle enthält die aus einem Abfrageausdruck abgerufenen Daten im Befehl Ansicht erstellen. Ansichten können aus einer oder mehreren Basistabellen oder Ansichten erstellt werden. Eine Ansicht kann wie die ursprünglichen Basistabellen abgefragt werden.

Es ist nicht so, dass die Ansicht vorberechnet und auf der Festplatte gespeichert ist, sondern eine Ansicht wird jedes Mal berechnet, wenn auf sie zugegriffen wird. Wenn eine Ansicht verwendet wird, wird der Abfrageausdruck im Befehl Ansicht erstellen zu diesem Zeitpunkt ausgeführt. Daher erhalten Sie immer die aktualisierten Daten in einer Ansicht.

Wenn Sie Inhalte in der Ansicht aktualisieren, wird dies in der Originaltabelle angezeigt. Wenn Änderungen an der ursprünglichen Basistabelle vorgenommen wurden, werden sie in der Ansicht angezeigt. Dies macht jedoch die Leistung einer View langsamer . Beispielsweise wird eine Ansicht aus dem Join von zwei oder mehr Tabellen erstellt. In diesem Fall müssen Sie jedes Mal, wenn Sie eine View verwenden, Zeit für das Auflösen der Joins zahlen.

Es hat jedoch einige Vorteile, da es keinen Speicherplatz erfordert. Sie können eine benutzerdefinierte Ansicht einer komplexen Datenbank erstellen. Sie können den Benutzer auf den Zugriff auf vertrauliche Informationen in einer Datenbank beschränken. Reduziert die Komplexität von Abfragen, indem Daten aus mehreren Tabellen in einer einzigen benutzerdefinierten Ansicht abgerufen werden.

Nun sehen wir uns die Syntax von View an

Ansicht V erstellen als

Denken Sie daran, dass alle Ansichten nicht aktualisierbar sind. Wie bei einer mit der DISTINCT- Klausel erstellten Ansicht, der Klausel Group By und der CHECK- Einschränkung (bei Verletzung von Prüfeinschränkungen) kann die schreibgeschützte Option nicht aktualisiert werden.

Definition der materialisierten Ansicht

Materialized View ist die physische Kopie der ursprünglichen Basistabellen. Die Materialized View ist wie eine Momentaufnahme oder ein Bild der ursprünglichen Basistabellen. Wie die Ansicht enthält es auch die Daten, die aus dem Abfrageausdruck des Befehls " Materialisierte Ansicht erstellen" abgerufen werden.

Im Gegensatz zu View werden die materialisierten Ansichten jedoch vorberechnet und auf einer Festplatte wie ein Objekt gespeichert und nicht bei jeder Verwendung aktualisiert . Stattdessen muss die materialisierte Ansicht manuell oder mithilfe von Triggern aktualisiert werden . Die Aktualisierung der Materialized View wird als Materialized View Maintenance bezeichnet .

Materialized View reagiert im Vergleich zu View schneller. Dies liegt daran, dass die materialisierte Ansicht vorberechnet ist und daher keine Zeit mit dem Auflösen der Abfrage oder der Verknüpfungen in der Abfrage verschwendet, mit der die materialisierte Ansicht erstellt wird. Dies wiederum reagiert schneller auf die Abfrage der materialisierten Ansicht.

Lassen Sie uns die Syntax von Materialized View überprüfen:

Materialisierte Ansicht erstellen V
Build [Klausel] Aktualisieren [Typ]
EIN [Auslöser]
Wie

Wo die Build- Klausel entscheidet, wann die materialisierte Ansicht gefüllt wird. Der Aktualisierungstyp legt fest, wie die materialisierte Ansicht aktualisiert wird, und der Auslöser entscheidet, wann die materialisierte Ansicht aktualisiert werden soll.

Im Data Warehouse werden in der Regel verdeckte Ansichten verwendet.

Hauptunterschiede zwischen Ansicht und materialisierter Ansicht

  1. Der grundlegende Unterschied zwischen Ansicht und Materialansicht besteht darin, dass Ansichten nicht physisch auf der Festplatte gespeichert werden. Auf der anderen Seite werden Materialized Views auf der Disc gespeichert .
  2. View kann als virtuelle Tabelle definiert werden, die als Ergebnis des Abfrageausdrucks erstellt wird. Materialized View ist jedoch eine physische Kopie, ein Bild oder eine Momentaufnahme der Basistabelle.
  3. Eine Ansicht wird immer aktualisiert, wenn die Abfrage, die View erstellt, bei jeder Verwendung der View ausgeführt wird. Andererseits wird die materialisierte Ansicht manuell oder durch Anwenden von Auslösern aktualisiert.
  4. Materialized View reagiert schneller als View, da die Materialized View vorberechnet wird.
  5. Die materialisierte Ansicht verwendet den auf der Festplatte gespeicherten Speicherplatz, während die Ansicht lediglich eine Anzeige ist und daher keinen Speicherplatz benötigt.

Fazit:

Materialized View reagiert schneller als View. View bietet dem Benutzer jedoch immer aktuelle Informationen.

Top