SnowConvert AI - SQL Server-Azure Synapse 성능 검토 메시지¶
Applies to
SQL 서버
Azure 시냅스 분석
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으로 이메일을 보내주십시오.