Bei Verwendung unter den richtigen Bedingungen können materialisierte Ansichten die Performance erheblich verbessern, indem kostenträchtige Vorgänge wie etwa Joins vorab berechnet und die Ergebnisse in Form einer Ansicht auf der Festplatte gespeichert werden. Der Optimierer berücksichtigt materialisierte Ansichten bei der Entscheidung über die effizienteste Methode, um eine Abfrage zu erfüllen, auch wenn die materialisierte Ansicht nicht in der Abfrage referenziert wird.
Beim Design Ihrer Anwendung sollten Sie in Erwägung ziehen, materialisierte Ansichten für häufig ausgeführte kostenträchtige Abfragen oder kostenträchtige Teile Ihrer Abfragen festzulegen, etwa wenn intensive Aggregations- oder Join-Vorgänge erforderlich sind. Materialisierte Ansichten dienen der Performance-Verbesserung in Umgebungen, in denen Folgendes zutrifft:
Die Datenbank ist groß.
Häufige Abfragen führen zu wiederholter Aggregation und zu Join-Vorgängen für große Datenmengen.
Änderungen der zugrunde liegenden Daten kommen nur selten vor.
Der Zugriff auf aktuelle Daten ist nicht von entscheidender Bedeutung.
Berücksichtigen Sie die folgenden Anforderungen, Einstellungen und Einschränkungen, bevor Sie eine materialisierte Ansicht verwenden:
Anforderungen an den Plattenspeicher Da materialisierte Ansichten ein Duplikat von Daten aus Basistabellen enthalten, müssen Sie möglicherweise zusätzlichen Speicherplatz für die Datenbank bereitstellen, um die erstellten materialisierten Ansichten zu speichern. Die Anforderungen an zusätzlichen Speicherplatz müssen sorgfältig geprüft werden, damit der erhaltene Vorteil den Kosten für die Verwendung materialisierter Ansichten gegenübergestellt werden kann.
Wartungskosten und Anforderungen an die Datenaktualität Die Daten in materialisierten Ansichten müssen aktualisiert werden, wenn sich die Daten in den Basistabellen ändern. Beim Festlegen der Intervalle für die Aktualisierung materialisierter Ansichten müssen Faktoren berücksichtigt werden, die möglicherweise im Konflikt miteinander stehen, wie z.B.:
Häufigkeit der Änderungen zugrunde liegender Daten Häufige oder umfangreiche Datenänderungen führen dazu, dass manuelle Ansichten veralten. Wenn die Aktualität der Daten wichtig ist, sollten Sie sich die Verwendung einer Sofortansicht überlegen.
Kosten der Aktualisierung Abhängig von der Komplexität der Abfrage für eine materialisierte Ansicht und der betroffenen Datenmenge kann die Berechnung, die für eine Aktualisierung erforderlich ist, sehr kostenträchtig sein, und eine häufige Aktualisierung von materialisierten Ansichten führt möglicherweise zu einer nicht akzeptablen Systemlast auf dem Datenbankserver. Zusätzlich kann auf materialisierte Ansichten während des Aktualisierungsvorgangs nicht zugegriffen werden.
Anwendungsanforderungen an die Datenaktualität Wenn der Datenbankserver eine veraltete materialisierte Ansicht verwendet, liefert er den Anwendungen veraltete Daten. Veraltete Daten entsprechen nicht mehr dem aktuellen Zustand der Basistabellen. Der Grad der Veraltung wird durch die Häufigkeit bestimmt, mit der die materialisierte Ansicht aktualisiert wird. Eine Anwendung muss in der Lage sein, den Grad der Veraltung festzulegen, den sie zum Erreichen einer verbesserten Performance tolerieren kann.
Anforderungen an die Datenkonsistenz Beim Aktualisieren von materialisierten Ansichten müssen Sie die Konsistenz festlegen, mit der die materialisierten Ansichten aktualisiert werden sollen.
Verwendung bei der Optimierung Sie sollten sicherstellen, dass der Optimierer die materialisierte Ansicht berücksichtigt, wenn er eine Abfrage ausführt. Eine Liste der materialisierten Ansichten, die für eine bestimmte Abfrage verwendet werden, finden Sie im grafischen Plan der Abfrage im Fenster Erweiterte Details in Interactive SQL.
Sie können außerdem den Anwendungsprofilerstellungsmodus in Sybase Central benutzen, um festzustellen, ob eine materialisierte Ansicht während der Enumerationsphase einer Abfrage in Betracht gezogen wurde, indem Sie die Zugriffspläne prüfen, die durch den Optimierer aufgelistet wurden. Die Protokollierung muss aktiviert und so konfiguriert werden, dass der Protokollierungstyp OPTIMIZATION_LOGGING einbezogen wird, um die Zugriffspläne anzuzeigen, die vom Optimierer aufgelistet werden.
Datenändernde Vorgänge Materialisierte Ansichten sind schreibgeschützt. Datenändernde Vorgänge wie INSERT, LOAD, DELETE oder UPDATE können mit ihnen nicht ausgeführt werden.
Schlüssel, Integritätsregeln, Trigger und Artikel Während Sie Indizes für materialisierte Ansichten erstellen können, ist es nicht möglich, Schlüssel, Integritätsregeln, Trigger oder Artikel für diese zu erstellen.
Materialisierte Ansichten und Ansichtsabhängigkeiten
Einstellen des Aktualisierungstyps auf "Manuell" oder "Sofort"
Einschränkungen für materialisierte Ansichten
![]() |
Kommentieren Sie diese Seite in DocCommentXchange.
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |