Limitações conhecidas para tabelas dinâmicas

Este tópico descreve as limitações dos seguintes recursos de tabela dinâmica:

Limitações gerais

As seguintes limitações gerais se aplicam ao uso de tabelas dinâmicas:

  • Uma única conta pode conter no máximo 1.000 tabelas dinâmicas.

  • Na definição de uma tabela dinâmica:

    • Você não pode consultar mais de 100 tabelas.

    • Você não pode consultar mais de 10 tabelas dinâmicas.

    • Você não pode encadear mais de 10 tabelas dinâmicas para criar um DAG.

  • Você não pode truncar dados de uma tabela dinâmica.

  • Você não pode criar uma tabela dinâmica transitória ou temporária.

  • Quando você usa uma tabela dinâmica para ingerir dados compartilhados, a consulta não pode selecionar uma tabela dinâmica compartilhada ou uma exibição segura compartilhada que faça referência a uma tabela dinâmica upstream.

  • Você não pode usar funções secundárias com tabelas dinâmicas porque as atualizações de tabelas dinâmicas atuam como função de proprietário. Para obter mais informações, consulte Modelo de aplicação com funções primárias e secundárias.

Limitações nas construções de consulta

As construções a seguir não são suportadas atualmente na consulta para uma tabela dinâmica. Se você especificá-las na consulta, ocorrerá um erro:

  • Funções externas.

  • Funções que dependem de CURRENT_USER. As atualizações da tabela dinâmica atuam como função de proprietário com um usuário SYSTEM especial.

  • Origens que incluem tabelas de diretório, tabelas Iceberg, tabelas externas, fluxos e exibições materializadas.

  • Exibições em tabelas dinâmicas ou outros objetos sem suporte.

  • Funções definidas pelo usuário (UDFs e UDTFs) escritas em SQL.

Suporte para interações entre recursos

As seguintes interações entre recursos não são suportadas:

  • Configuração da chave de clustering em uma tabela dinâmica.

  • Habilitação da otimização de pesquisa em uma tabela dinâmica.

  • Uso do Query Acceleration Service (QAS) para atualizações da tabela dinâmica.

  • Uso de tabelas dinâmicas em esquemas de acesso gerenciado.

As seguintes limitações se aplicam a interações entre recursos:

  • Tabelas dinâmicas e tabelas base que estão em grupos de failover diferentes causam falha na replicação.

Suporte para atualizações incrementais

Esta seção descreve as expressões, cláusulas e funções que atualmente não são suportadas para atualização incremental de tabela dinâmica. Se uma consulta usar isso, o processo de atualização automatizada usará uma atualização completa, que poderá consumir mais créditos. Consulte Como determinar se é usada uma atualização incremental ou completa.

Funções não determinísticas não são suportadas com atualizações incrementais, mas algumas funções não determinísticas são suportadas com atualizações completas.

Construções, operadores e funções não suportados

Atualmente, as tabelas dinâmicas não oferecem suporte à atualização incremental de algumas construções, operadores e funções. Se você especificar o seguinte na consulta, a tabela dinâmica será atualizada por meio de uma atualização completa:

  • PIVOT.

  • UNPIVOT.

  • Operadores de conjuntos:

    • UNION, MINUS, EXCEPT, INTERSECT.

  • O seguinte uso de UNION [ ALL ]:

    • UNION ALL de uma tabela e ela mesma ou um clone dela mesma.

    • UNION ALL de dois GROUP BYs.

  • Junção lateral.

  • Os seguintes padrões de junção externa (esquerda, direita ou completa):

    • Junções externas onde ambos os lados são a mesma tabela.

    • Junções externas onde ambos os lados são uma subconsulta com cláusulas GROUP BY.

    • Junções externas com predicados de não igualdade.

  • Os seguintes usos das funções de janela:

    • Várias funções de janela no mesmo bloco SELECT com cláusulas PARTITION BY não idênticas.

    • Usando as funções de janela PERCENT_RANK, DENSE_RANK, RANK com janelas deslizantes.

    • Usando ANY porque é uma função não determinística.

  • Funções tabulares definidas pelo usuário (UDTF).

Limitações adicionais com atualização incremental

Funções definidas pelo usuário (UDF): substituir uma UDF IMMUTABLE enquanto ela está em uso por uma tabela dinâmica que usa atualização incremental pode resultar em comportamento inesperado nessa tabela. UDFs VOLATILE não são suportadas com atualização incremental.

Políticas de mascaramento e acesso a linhas: atualmente, as tabelas dinâmicas não oferecem suporte à atualização incremental para fontes com políticas de mascaramento ou acesso a linhas. Se a tabela subjacente estiver protegida por uma política, a tabela dinâmica utilizará a atualização completa.

Replicação: tabelas dinâmicas replicadas com atualização incremental são reinicializadas após o failover, antes que possam retomar a atualização incremental.

Clonagem: em certos casos, tabelas dinâmicas incrementais clonadas podem precisar ser reinicializadas na primeira atualização após serem criadas.