SnowConvert AI - Messages d’examen des performances SQL Server-Azure Synapse

Applies to
  • SQL Server

  • Azure Synapse Analytics

SSC-PRF-TS0001

Avertissement lié aux performances - Récursivité pour la CTE non vérifiée. Peut nécessiter un mot-clé récursif.

Description

Cet avertissement apparaît lorsque SnowConvert AI détecte une expression de table commune (CTE), mais qu’il n’a pas vérifié si la CTE contient des opérations récursives dans sa définition de requête.

Snowflake SQL requiert le mot-clé RECURSIVE pour les expressions de table communes récursives (CTEs). Actuellement, SnowConvert AI ne détecte pas automatiquement les requêtes récursives pour déterminer si le mot-clé RECURSIVE doit être inclus. Cet avertissement vous indique que vous devrez peut-être ajouter manuellement le mot-clé RECURSIVE pour les CTEs récursives.

La prise en charge de cette validation pourra être ajoutée dans les versions futures en fonction de l’évolution des exigences.

Exemple de code

Code d’entrée :

 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

Code généré :

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

Meilleures pratiques

  • Le mot-clé RECURSIVE est facultatif et n’affectera pas les résultats de votre requête. Cependant, il peut influencer la manière dont Snowflake alloue les ressources pendant l’exécution. Nous vous recommandons de consulter la documentation de Snowflake sur les CTE et de nous contacter si vous souhaitez l’ajout automatique du mot-clé RECURSIVE pour les requêtes CTE compatibles.

  • Pour toute assistance supplémentaire, veuillez nous envoyer un e-mail à l’adresse suivante : snowconvert-support@snowflake.com