SnowConvert AI - SQL Server-Azure Synapse パフォーマンスレビューメッセージ

Applies to
  • SQL Server

  • Azure Synapse Analytics

SSC-PRF-TS0001

パフォーマンスの警告 - CTE の再帰がチェックされていません。再帰キーワードが必要になる可能性があります。

説明

この警告は、SnowConvert AI が共通テーブル式(CTE)を検出したが、CTE のクエリ定義に再帰操作が含まれているかどうかを検証していない場合に表示されます。

Snowflake SQL では、再帰的な共通テーブル式(CTEs)には RECURSIVE キーワードが必要です。現在のところ、SnowConvert AI は、自動的に再帰クエリを検出して RECURSIVE キーワードを含めるべきかどうかを判断することはしません。この警告は、再帰的な CTEs のために RECURSIVE キーワードを手動で追加する必要がある可能性を通知するものです。

この検証のサポートは、要件の進展に応じて将来のリリースで追加される可能性があります。

コード例

入力コード:

 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

生成されたコード:

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

ベストプラクティス

  • RECURSIVE キーワードはオプションで、クエリ結果には影響しません。しかし、実行中にSnowflakeがリソースを割り当てる方法に影響を与える可能性があります。互換性のある CTE クエリに対して RECURSIVE キーワードの自動追加をご希望の場合は、Snowflakeの CTE ドキュメントをご確認の上、弊社までご連絡いただくことをお勧めします。

  • その他のサポートについては、 snowconvert-support@snowflake.com にメールでご連絡ください