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;
生成されたコード:¶
--** 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;
ベストプラクティス¶
RECURSIVE キーワードはオプションで、クエリ結果には影響しません。しかし、実行中にSnowflakeがリソースを割り当てる方法に影響を与える可能性があります。互換性のある CTE クエリに対して RECURSIVE キーワードの自動追加をご希望の場合は、Snowflakeの CTE ドキュメントをご確認の上、弊社までご連絡いただくことをお勧めします。
その他のサポートについては、 snowconvert-support@snowflake.com にメールでご連絡ください