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