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;
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;
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