SnowConvert AI – mensagens de revisão de desempenho do SQL Server-Azure Synapse

Applies to
  • SQL Server

  • Azure Synapse Analytics

SSC-PRF-TS0001

Aviso de desempenho – recursão para CTE não verificada. Pode ser necessária uma palavra-chave recursiva.

Descrição

Este aviso aparece quando o SnowConvert AI detecta uma expressão de tabela comum (CTE), mas não verificou se a CTE contém operações recursivas na definição de consulta.

O Snowflake SQL requer a palavra-chave RECURSIVE para expressões de tabela comum (CTEs) recursivas. Atualmente, o SnowConvert AI não detecta automaticamente consultas recursivas para determinar se a palavra-chave RECURSIVE deve ser incluída. Esse aviso notifica que você pode precisar adicionar manualmente a palavra-chave RECURSIVE para CTEs recursivos.

O suporte a essa validação pode ser adicionado em versões futuras, à medida que os requisitos evoluírem.

Exemplo de código

Código de entrada:

 WITH Sales_CTE (SalesPersonID, NumberOfOrders)  
AS  
(  
    SELECT SalesPersonID, 2  
    FROM Sales.SalesOrderHeader  
    WHERE SalesPersonID IS NOT NULL  
    GROUP BY SalesPersonID  
)  
SELECT 2 AS "Average Sales Per Person"  
FROM Sales_CTE;
Copy

Código gerado:

 --** SSC-PRF-TS0001 - PERFORMANCE WARNING - RECURSION FOR CTE NOT CHECKED. MIGHT REQUIRE RECURSIVE KEYWORD **
WITH Sales_CTE (
    SalesPersonID,
    NumberOfOrders
) AS
(
    SELECT
        SalesPersonID, 2
    FROM
        Sales.SalesOrderHeader
    WHERE
        SalesPersonID IS NOT NULL
    GROUP BY
        SalesPersonID
)
SELECT 2 AS "Average Sales Per Person"
FROM
    Sales_CTE;
Copy

Práticas recomendadas

  • A palavra-chave RECURSIVE é opcional e não afetará os resultados da consulta. No entanto, pode influenciar a forma como o Snowflake aloca recursos durante a execução. Recomendamos que consulte a documentação do Snowflake sobre CTE e entre em contato conosco se desejar a adição automática de palavras-chave RECURSIVE para consultas compatíveis com CTE.

  • Para obter assistência adicional, envie-nos um e-mail para snowconvert-support@snowflake.com