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;
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으로 이메일을 보내주십시오.