Share via


T-SQL-weergaven met toegewezen SQL-pool en serverloze SQL-pool in Azure Synapse Analytics

In dit artikel vindt u tips voor het gebruik van T-SQL-weergaven en het ontwikkelen van oplossingen met toegewezen SQL-pool en serverloze SQL-pool in Azure Synapse Analytics.

Waarom weergaven gebruiken

Weergaven kunnen op verschillende manieren worden gebruikt om de kwaliteit van uw oplossing te verbeteren. In dit artikel worden enkele voorbeelden beschreven van het verrijken van uw oplossing met weergaven en bevat de beperkingen die moeten worden overwogen.

SQL-pool - weergave maken

Notitie

De syntaxis voor CREATE VIEW wordt niet besproken in dit artikel. Zie de DOCUMENTATIE VOOR CREATE VIEW voor meer informatie.

Architectuurabstractie

Een veelvoorkomend toepassingspatroon is het opnieuw maken van tabellen met CREATE TABLE AS SELECT (CTAS), gevolgd door een patroon voor het wijzigen van de naam van een object tijdens het laden van gegevens.

In het volgende voorbeeld worden nieuwe datumrecords toegevoegd aan een datumdimensie. U ziet hoe een nieuwe tabel, DimDate_New, eerst wordt gemaakt en vervolgens de naam ervan wijzigt om de oorspronkelijke versie van de tabel te vervangen.

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;

Houd er rekening mee dat deze benadering ertoe kan leiden dat tabellen worden weergegeven en verdwijnen uit de weergave van een gebruiker en foutberichten 'tabel bestaat niet'. Weergaven kunnen worden gebruikt om gebruikers een consistente presentatielaag te bieden terwijl de naam van de onderliggende objecten wordt gewijzigd.

Door toegang te bieden tot gegevens via weergaven, hebben gebruikers geen zichtbaarheid nodig voor de onderliggende tabellen. Naast een consistente gebruikerservaring zorgt deze laag ervoor dat analyseontwerpers het gegevensmodel kunnen ontwikkelen. De mogelijkheid om de onderliggende tabellen te ontwikkelen, betekent dat ontwerpers CTAS kunnen gebruiken om de prestaties tijdens het laden van gegevens te maximaliseren.

Prestaties en optimalisatie

Weergaven kunnen ook worden gebruikt voor het afdwingen van voor prestaties geoptimaliseerde joins tussen tabellen. Een weergave kan bijvoorbeeld een redundante distributiesleutel bevatten als onderdeel van de samenvoegcriteria om gegevensverplaatsing te minimaliseren.

Het afdwingen van een specifieke query of het toevoegen van hints is een ander voordeel van het gebruik van T-SQL-weergaven. Als zodanig zorgt de weergavemogelijkheid ervoor dat joins altijd op een optimale manier worden uitgevoerd. U voorkomt dat gebruikers de juiste constructie voor hun joins moeten onthouden.

Beperkingen

Weergaven in Synapse SQL worden alleen opgeslagen als metagegevens. De volgende opties zijn dus niet beschikbaar:

  • Er is geen optie voor schemabinding
  • Basistabellen kunnen niet worden bijgewerkt via de weergave
  • Weergaven kunnen niet worden gemaakt via tijdelijke tabellen
  • Er is geen ondersteuning voor de HINTS EXPAND/NOEXPAND
  • Er zijn geen geïndexeerde weergaven in Synapse SQL

Volgende stappen

Zie Het overzicht van Synapse SQL-ontwikkeling voor meer tips voor ontwikkeling.