Manuelle Ansichten veralten, wenn Änderungen an ihren darunterliegenden Basistabellen auftreten. Ein Aktualisieren einer manuellen Ansicht bedeutet, dass der Datenbankserver die Abfragedefinition für die Ansicht wieder ausführt und die Ansichtsdaten durch die neue Ergebnismenge der Abfrage ersetzt. Das Aktualisieren macht die Ansichtsdaten mit den Basisdaten konsistent. Sie sollten eine akzeptable Grenze in Bezug auf die Veralterung der Daten für die manuelle Ansicht festlegen und eine Aktualisierungsstrategie entwerfen. Ihre Strategie sollte die Zeit berücksichtigen, die für die Durchführung einer Aktualisierung benötigt wird, weil die Ansicht während des Aktualisierungsvorgangs für Abfragen nicht verfügbar ist.
Sie können auch eine Strategie einsetzen, bei der die Ansicht unter Verwendung von Ereignissen aktualisiert wird. Sie können beispielsweise ein Ereignis erstellen, das die Aktualisierung in regulären Intervallen durchführt.
Sofortansichten müssen nicht aktualisiert werden, außer sie sind nicht-initialisiert (enthalten keine Daten), wie z.B. nach einer Kürzung.
Sie können auch die Systemprozedur sa_refresh_materialized_views verwenden, um Ansichten zu aktualisieren. Weitere Hinweise finden Sie unter sa_refresh_materialized_views-Systemprozedur.
Mit der Datenbankoption "materialized_view_optimization" können Sie einen Veraltungsschwellenwert konfigurieren, jenseits dessen der Optimierer die materialisierte Ansicht beim Verarbeiten von Abfragen nicht benutzt. Weitere Hinweise finden Sie unter Veraltungsschwellenwert des Optimierers für materialisierte Ansichten einstellen.
Wenn Sie die Anweisung REFRESH MATERIALIZED VIEW verwenden, können Sie die Isolationsstufe der Verbindung aufheben, indem Sie die WITH ISOLATION LEVEL-Klausel benutzen. Weitere Hinweise darüber, wie Sie beim Aktualisieren einer materialisierten Ansicht den Mehrbenutzerbetrieb steuern, finden Sie unter der WITH-Klausel der REFRESH MATERIALIZED VIEW-Anweisung.
Es empfiehlt sich, materialisierte Ansichten zu aktualisieren, nachdem Sie ein Upgrade des Datenbankservers durchgeführt oder die Datenbank neu aufgebaut bzw. umgestellt haben.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung mit der Datenbank oder als Benutzer mit INSERT-Berechtigung für die materialisierte Ansicht. Sie müssen auch SELECT-Berechtigungen für die Basistabellen haben.
Doppelklicken Sie im linken Fensterausschnitt auf Ansichten.
Rechtsklicken Sie auf eine materialisierte Ansicht und wählen Sie Daten aktualisieren.
Wählen Sie eine Isolationsstufe und klicken Sie auf OK.
Verbinden Sie sich als Benutzer mit DBA-Berechtigung mit der Datenbank oder als Benutzer mit INSERT-Berechtigung für die materialisierte Ansicht. Sie müssen auch SELECT-Berechtigungen für die Basistabellen haben.
Führen Sie die Anweisung REFRESH MATERIALIZED VIEW aus.
Die folgende Anweisung erstellt und aktualisiert die materialisierte Ansicht EmployeeConfid33.
CREATE MATERIALIZED VIEW EmployeeConfid33 AS SELECT EmployeeID, Employees.DepartmentID, SocialSecurityNumber, Salary, ManagerID, Departments.DepartmentName, Departments.DepartmentHeadID FROM Employees, Departments WHERE Employees.DepartmentID=Departments.DepartmentID; REFRESH MATERIALIZED VIEW EmployeeConfid33; |
Wenn Sie dieses Beispiel durchgeführt haben, löschen Sie die von Ihnen erstellte materialisierte Ansicht. Andernfalls können Sie keine Schemaänderungen an ihren Basistabellen Employees und Departments durchführen, wenn Sie andere Beispiele ausprobieren. Sie können das Schema einer Tabelle nicht ändern, die aktivierte, materialisierte Ansichten haben. Weitere Hinweise finden Sie unter Materialisierte Ansichten löschen.
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |