Compartilhar via


Exibições T-SQL com pool de SQL dedicado e pool de SQL sem servidor no Azure Synapse Analytics

Dicas para usar exibições T-SQL e desenvolver soluções com o pool de SQL dedicado e o pool de SQL sem servidor no Azure Synapse Analytics.

Por que usar exibições

As exibições podem ser usadas em diversas maneiras diferentes de melhorar a qualidade de sua solução. Este artigo destaca alguns exemplos de como aprimorar sua solução com exibições, incluindo as limitações que precisam ser consideradas.

Pool de SQL – criar exibição

Observação

A sintaxe para CREATE VIEW não é discutida neste artigo. Para saber mais, consulte a documentação CREATE VIEW.

Abstração de arquitetura

Um padrão de aplicativo comum é recriar tabelas usando CTAS (CREATE TABLE AS SELECT), que é seguido por um objeto de renomeação do padrão durante o carregamento dos dados.

O exemplo a seguir adiciona novos registros de data para uma dimensão de data. Observe como uma nova tabela, DimDate_New, é criada pela primeira vez e renomeada para substituir a versão original da tabela.

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;

Lembre-se de que essa abordagem pode resultar em tabelas que aparecem e desaparecem da exibição do usuário e em mensagens de erro "a tabela não existe". As exibições podem ser usadas para fornecer aos usuários uma camada de apresentação consistente enquanto os objetos subjacentes são renomeados.

Com o fornecimento de acesso a dados por meio de exibições, os usuários não precisam de visibilidade para as tabelas subjacentes. Além de uma experiência de usuário consistente, essa camada garante que os designers de análise possam desenvolver o modelo de dados. A capacidade para desenvolver as tabelas subjacentes significa que os designers podem usar CTAS para maximizar o desempenho durante o processo de carregamento de dados.

Otimização do desempenho

As exibições também podem ser usadas para impor junções de desempenho otimizadas entre as tabelas. Por exemplo, uma exibição pode incorporar uma chave de distribuição redundante como parte dos critérios de junção para minimizar a movimentação dos dados.

Outro benefício de usar exibições T-SQL é forçar uma consulta específica ou uma dica de junção. Dessa forma, a capacidade das exibições garante que as junções sejam sempre executadas de maneira ideal. Você evitará a necessidade de os usuários se lembrarem do constructo correto para as junções.

Limitações

As exibições do SQL do Synapse são armazenadas apenas como metadados. Consequentemente, as seguintes opções não estão disponíveis:

  • Não há opção de associação de esquema
  • Tabelas base não podem ser atualizadas por meio da exibição
  • Exibições não podem ser criadas em tabelas temporárias
  • Não há suporte para as dicas EXPAND / NOEXPAND
  • Não há exibições indexadas no SQL do Synapse

Próximas etapas

Para obter mais dicas de desenvolvimento, consulte Visão geral de desenvolvimento do SQL do Synapse.