T-SQL-Sichten mit dediziertem SQL-Pool und serverlosem SQL-Pool in Azure Synapse Analytics

In diese Artikel finden Sie Tipps für das Verwenden von T-SQL-Sichten und das Entwickeln von Lösungen mit einem dedizierten SQL-Pool und einem serverlosen SQL-Pool in Azure Synapse Analytics.

Gründe für die Verwendung von Sichten

Sichten können auf verschiedene Weisen zur Verbesserung der Qualität Ihrer Lösung verwendet werden. Dieser Artikel enthält einige Beispiele dafür, wie Sie Ihre Lösung mit Sichten bereichern können, und er umfasst die Einschränkungen, die berücksichtigt werden müssen.

SQL-Pool: Sicht erstellen

Hinweis

Die Syntax für CREATE VIEW wird in diesem Artikel nicht erörtert. Weitere Informationen finden Sie in der Dokumentation zu CREATE VIEW.

Architekturabstraktion

Ein häufig verwendetes Anwendungsmuster ist das erneute Erstellen von Tabellen mit CREATE TABLE AS SELECT (CTAS), gefolgt von einem Muster zur Objektumbenennung beim Laden von Daten.

Im folgenden Beispiel werden einer Datumsdimension neue Datumsdatensätze hinzugefügt. Beachten Sie, wie eine neue Tabelle (DimDate_New) zuerst erstellt und dann umbenannt wird, um die ursprüngliche Version der Tabelle zu ersetzen.

CREATE TABLE dbo.DimDate_New
WITH (DISTRIBUTION = ROUND_ROBIN
, CLUSTERED INDEX (DateKey ASC)
)
AS
SELECT *
FROM   dbo.DimDate  AS prod
UNION ALL
SELECT *
FROM   dbo.DimDate_stg AS stg
;

RENAME OBJECT DimDate TO DimDate_Old;
RENAME OBJECT DimDate_New TO DimDate;

Beachten Sie, dass dieser Ansatz aber auch dazu führen kann, dass Tabellen in der Sicht eines Benutzers ein- und ausgeblendet und Fehlermeldungen der Art „Tabelle nicht vorhanden“ angezeigt werden. Sichten können verwendet werden, um eine konsistente Darstellungsschicht für Benutzer bereitzustellen, während die zugrunde liegenden Objekte umbenannt werden.

Wenn Zugriff auf Daten über Sichten bereitgestellt wird, sind Benutzer nicht auf die Sichtbarkeit der zugrunde liegenden Tabellen angewiesen. Zusätzlich zu einer konsistenten Benutzererfahrung stellt diese Ebene sicher, dass Analysedesigner das Datenmodell weiterentwickeln können. Dank der Möglichkeit, die zugrunde liegenden Tabellen weiterentwickeln zu können, können Designer die Leistung beim Laden von Daten mit CTAS maximieren.

Leistungsoptimierung

Sichten können auch genutzt werden, um leistungsoptimierte Verknüpfungen zwischen Tabellen durchzusetzen. Beispielsweise kann eine Sicht einen redundanten Verteilungsschlüssel als Teil des Verknüpfungskriteriums enthalten, um die Datenverschiebung zu minimieren.

Das Erzwingen einer bestimmten Abfrage oder eines Verknüpfungshinweises ist ein weiterer Vorteil der Verwendung von T-SQL-Sichten. Somit stellt die Sichtfunktion sicher, dass Verknüpfungen immer in optimaler Weise durchgeführt werden. Sie vermeiden, dass sich Benutzer das richtige Konstrukt für ihre Verknüpfungen merken müssen.

Einschränkungen

Sichten in Synapse SQL werden nur als Metadaten gespeichert. Daher sind die folgenden Optionen nicht verfügbar:

  • Es gibt keine Option zur Schemabindung.
  • Basistabellen können nicht über die Sicht aktualisiert werden.
  • Es können keine Sichten für temporäre Tabellen erstellt werden.
  • EXPAND/NOEXPAND-Hinweise werden nicht unterstützt.
  • Es sind keine indizierten Sichten in Synapse SQL verfügbar.

Nächste Schritte

Weitere Tipps zur Entwicklung finden Sie in der Entwicklungsübersicht für Synapse SQL.