So verwenden Sie postgresql materialisierte Ansichten

So verwenden Sie postgresql materialisierte Ansichten

Ansichten in PostgreSQL sind grafische Tabellen, die Daten aus den entsprechenden Tabellen anzeigen. Gemeinsame Ansichten können auch geändert werden. PostgreSQL bringt das Konzept der Ansichten in die nächste Stufe, indem es Ansichten ermöglicht, Informationen materiell zu speichern, die als materialisierte Ansichten bezeichnet werden. Eine materialisierte Ansicht bewahrt die Ausgabe einer zeitaufwändigen, komplizierten Abfrage, sodass Sie die Ergebnisse jederzeit schnell abfragen können. Materialisierte Standpunkte werden häufig in Data Warehouses und Business Intelligence -Anwendungen verwendet, da sie in Situationen hilfreich sind, die einen schnellen Zugriff auf Daten erfordern.

Warum materialisierte Ansichten verwenden??

Wenn der Befehl Ansicht für Sie zu träge ist, können Sie es vorziehen, eine materialisierte Ansicht zu verwenden. Materielle Ansichten haben viel Vielseitigkeit, indem Sie es Ihnen ermöglichen, eine Darstellung in der Datenbank mit kürzeren Zugriffszeiten materiell beizubehalten. Nehmen wir an, dass Sie eine Datenbankabfrage erstellen müssen, um ein paar Tabellen zu verbinden, Zeilen aus der gewerkschaftlichen Sammlung zu entfernen und die Tabellen auf verschiedene Weise zu sortieren. Dies kann eine komplizierte und zeitaufwändige Abfrage sein, und ohne materialisierte Ansichten werden Sie am Ende eine materialisierte Ansicht verwenden, um dieses Dilemma zu bekämpfen. In diesem Artikel werden Sie untersucht, wie Sie materialisierte Ansichten in PostgreSQL verwenden.

Syntax

>> Erstellen Sie materialisierte Ansicht anzeigen_name als Abfrage mit [no] Daten;

Die Erklärung für diese allgemeine Ansicht ist wie folgt:

  • View_name: Der Titel der Ansicht, die mit der Anweisung erstellen materialisierte Ansicht erstellt werden soll.
  • Anfrage: Die Abfrage, die die Daten aus den entsprechenden Tabellen erhält.
  • Mit [nein] Daten: Wählen Sie die Option mit Datenoption, um Informationsdaten zum Zeitpunkt der Entwicklung in die materialisierte Ansicht einzubeziehen. Andernfalls wählen Sie ohne Daten. Die Ansicht ist als unverständlich gekennzeichnet, wenn Sie die Option "mit [no] Daten nicht] verwenden, was impliziert, dass Sie nicht in der Lage sind, nach Informationen aus der Ansicht zu suchen, es sei denn, Sie haben Daten zuerst in sie geladen.

So verwenden Sie materialisierte Ansichten

Starten Sie Ihre PostgreSQL-Befehlszeilenschale, um an materialisierten Ansichten zu arbeiten.

Geben Sie den Servernamen, die Datenbank an, an der Sie arbeiten möchten, die Portnummer und den Benutzernamen, um die Befehlsschale zu verwenden. Lassen Sie diese Räume leer, wenn Sie das Standardsystem verwenden möchten.

Beispiel 1: Einfache Ansicht

Um die materialisierte Ansicht zu verstehen, müssen Sie zunächst einfache Ansichten verstehen. Erstellen Sie also die neue Tabelle "Student" mit dem Befehl create table, wie angehängt.

>> Tabellenstudent erstellen (SID Serien -Primärschlüssel, Sname Varchar (100) NICHT NULL, Altersvarchar (100), nicht null);

Fügen Sie danach Daten mit der Abfrage einfügen ein.

Rufen Sie die Datensätze der Tabelle "Student" mit der Auswahlanweisung für die einfache Ansicht ab.

>> aus dem Schüler auswählen;

Beispiel 2: Einfache materialisierte Ansicht

Jetzt ist es Zeit, die materialisierte Ansicht abzudecken. Wir werden die Tabelle "Schüler" verwenden, um eine materialisierte Ansicht zu erstellen. Wir erstellen eine materialisierte Ansicht mit dem Namen "STD_View" mit dem Befehl "Materielle Ansicht erstellen". In dieser Ansicht holen wir das Feld "Sname" des Schülernamens aus der Tabelle "Schüler", die in der Spalte "Sname" in aufsteigender Reihenfolge gruppiert und sortiert werden.

>> Erstellen Sie die materialisierte Ansicht std_view als SELECT SNAME aus der Studentengruppe von Sname Order von Sname;

Verwenden wir nun die Ausführung der Ansicht, um die Namen von Schülern in der Spalte "Sname" der Tabelle "Schüler" auszuführen.

>> aus std_view auswählen;

Beispiel 3: Materialisierte Ansicht mit der WO -Klausel

Jetzt erstellen wir eine materialisierte Ansicht mit der Where -Klausel. Betrachten Sie die folgende "Schüler" -Tabelle mit einigen Änderungen an den Werten.

Anschließend erstellen wir eine materialisierte Ansicht mit dem Namen "Teststd" unter Verwendung der Abfrage "Materielle Ansicht erstellen". Wir werden die Datensätze der Tabelle "Schüler" auswählen, in der der Wert der Spalte "Alter" größer als "25" mit der WHERE -Klausel ist. Die Abfrage funktioniert ordnungsgemäß, wie auf dem Bild zu sehen ist.

>> Erstellen Sie materialisierte Ansicht teststd als ausgewählte SID, Sname, Alter vom Schüler, bei dem Alter> '25';

Schließlich werden wir die materialisierte Ansicht ausführen, die wir gerade mit dem folgenden Befehl auswählen erstellt haben. Sie werden sehen, dass alle Aufzeichnungen aus der Tabelle "Schüler" zurückgegeben werden, in der die Spalte "Alter" einen Wert von größer als '25 hat.''

>> aus teststd auswählen;

Beispiel 4: Die materialisierte Ansicht mit keinem Datenklausel aktualisieren

In diesem Beispiel werden wir eine materialisierte Ansicht erstellen, in der wir die ohne Datenklausel verwenden, um die Ansicht zu aktualisieren. Angenommen, die folgende "Schüler" -Tabelle mit einigen Änderungen in den Werten.

Wir werden nun die materialisierte "Teststd" -Ansicht erstellen. Diese Ansicht wählt die Datensätze aus der Tabelle "Schüler" aus, in der das Alter der Schüler geringer ist als '40.'Die abgerufenen Aufzeichnungen werden in der Spalte "SID" gruppiert und nach aufsteigender Reihenfolge sortiert. Am Ende der Abfrage werden wir die ohne Datenklausel verwenden, um anzuzeigen, dass die Abfrage keine Informationen in einer materialisierten Ansicht speichert. Die unten gezeigte Ansicht sollte diese Aktionen erfolgreich ausführen.

>> Erstellen Sie materialisierte Ansicht teststd als ausgewählte SID, Sname, Alter vom Schüler Wo Alter < '40' GROUP BY sid ORDER BY sid WITH NO DATA;

Wenn Sie die Klausel "ohne Daten" einer materialisierten Ansicht hinzufügen, wird ein leeres erstellt. Diese materialisierte Ansicht ist nicht abfragebar. Wie Sie im folgenden Bild sehen können, holt es die Datensätze in der neu erstellten Ansicht nicht ab.

Die Anweisung für materialisierte Ansicht für aktualisierte Ansicht wird verwendet, um die Daten in eine materialisierte Ansicht zu importieren. Füllen Sie die materialisierte Ansicht aus, indem Sie die folgende Aktualisierung der materialisierten Ansicht in der Schale ausführen. Wie Sie sehen können, hat diese Abfrage effektiv funktioniert.

>> Aktualisieren Sie materialisierte Ansicht teststd;

Holen Sie sich erneut die Datensätze der materialisierten Ansicht 'Teststd' mit der Auswahlanweisung in der Shell ab. Dieses Mal funktioniert die Auswahlabfrage ordnungsgemäß, da die Anweisung "Aktualisierung" Inhalte in die materialisierte Ansicht geladen hat.

Beispiel 5: Drop materialisierte Ansicht

Der folgende Befehl löscht eine materialisierte Ansicht.

>> Drop materialisierte Ansicht std_view;

Abschluss

Dieser Artikel hat Ihnen gezeigt.