스키마:

ACCOUNT_USAGE

CORTEX_SEARCH_REFRESH_HISTORY 뷰

이 Account Usage 뷰는 Cortex Search Service 새로 고침 기록에 대한 정보를 표시합니다.

열 이름

데이터 타입

설명

NAME

VARCHAR

Cortex Search Service의 이름입니다.

SCHEMA_NAME

VARCHAR

Cortex Search Service가 포함된 스키마의 이름입니다.

DATABASE_NAME

VARCHAR

Cortex Search Service가 포함된 데이터베이스의 이름입니다.

STATE

VARCHAR

Cortex Search Service의 새로 고침 상태입니다. 다음 중 하나일 수 있습니다. . - EXECUTING: 새로 고침이 진행 중입니다. . - SUCCEEDED: 새로 고침이 성공적으로 완료되었습니다. . - FAILED: 실행 중에 새로 고침이 실패했습니다. . - CANCELLED: 실행 전에 새로 고침이 취소되었습니다.

DATA_TIMESTAMP

TIMESTAMP_LTZ

새로 고침이 평가된 시점의 트랜잭션 타임스탬프입니다. (이는 실제 새로 고침 시간보다 약간 이전 시점일 수 있습니다.) 이 타임스탬프 이전에 도착한 기본 오브젝트의 모든 데이터는 현재 Cortex Search Service에 포함되어 있습니다.

REFRESH_START_TIME

TIMESTAMP_LTZ

새로 고침 작업이 시작된 시간입니다.

REFRESH_END_TIME

TIMESTAMP_LTZ

새로 고침이 완료된 시간입니다.

INDEX_PREPROCESSING_DURATION

NUMBER

인덱스 전처리 단계의 기간(밀리초)입니다.

INDEX_PREPROCESSING_QUERY_ID

VARCHAR

인덱스 전처리를 수행한 쿼리의 ID입니다.

INDEX_PREPROCESSING_STATISTICS

OBJECT

인덱스 전처리를 위한 다음 속성을 포함합니다. . - compilationTimeMs: 쿼리 컴파일에 소요된 시간(밀리초)입니다. . - executionTimeMs: 쿼리 실행에 소요된 시간(밀리초)입니다. . - queuedTimeMs: 실행 전에 큐에서 소요된 시간(밀리초)입니다. . - numInsertedRows: 삽입된 행의 수입니다. . - numDeletedRows: 삭제된 행의 수입니다. . - numCopiedRows: 변경되지 않은 채로 복사된 행의 수입니다. . - numAddedPartitions: 추가된 파티션의 수입니다. . - numRemovedPartitions: 제거된 파티션의 수입니다.

INDEXING_DURATION

NUMBER

인덱싱 단계의 지속 시간(밀리초)입니다.

INDEXING_QUERY_ID

VARCHAR

인덱싱을 수행한 쿼리의 ID입니다.

REFRESH_ACTION

VARCHAR

다음 중 하나일 수 있습니다. . - NO_DATA - 기본 테이블에 새 데이터가 없습니다. . - FULL - Cortex Search Service가 완전히 새로 고쳐졌습니다. . - INCREMENTAL - Cortex Search Service의 증분 새로 고침입니다.

REFRESH_TRIGGER

VARCHAR

다음 중 하나일 수 있습니다. . - SCHEDULED - 서비스를 최신 상태로 유지하기 위한 일반적인 백그라운드 새로 고침입니다. . - MANUAL - 사용자가 ALTER CORTEX SEARCH SERVICE를 사용하여 수동으로 새로 고침을 트리거합니다. . - CREATION - DDL 문 생성 중에 수행된 새로 고침입니다.

TARGET_LAG_SEC

NUMBER

새로 고침이 발생한 시점에 Cortex Search Service의 목표 지연 값을 설명합니다.

WAREHOUSE

VARCHAR

새로 고침 작업에 사용되는 웨어하우스의 이름입니다.

ERROR

VARCHAR

새로 고침이 실패하면 오류 메시지가 표시되고, 그렇지 않으면 NULL이 표시됩니다.

사용법 노트

  • 뷰의 지연 시간은 최대 3시간입니다.

  • 이 뷰를 쿼리하려면 SNOWFLAKE.USAGE_VIEWER 데이터베이스 역할 이 부여된 역할을 사용합니다.

  • 다음 인자를 사용하여 결과를 필터링할 수 있습니다.

    • NAME: Cortex Search Service 이름으로 필터링합니다.

    • DATA_TIMESTAMP_START: 지정된 타임스탬프 또는 그 이후에 발생한 새로 고침으로 결과를 필터링합니다.

    • DATA_TIMESTAMP_END: 지정된 타임스탬프 또는 그 이전에 발생한 새로 고침으로 결과를 필터링합니다.

    • RESULT_LIMIT: 반환되는 결과 수를 제한합니다.

지난 한 주 동안 실패한 Cortex Search Service 새로 고침을 찾습니다.

SELECT
    data_timestamp,
    database_name,
    schema_name,
    name,
    state,
    error,
    refresh_trigger
  FROM snowflake.account_usage.cortex_search_refresh_history
  WHERE state = 'FAILED' AND data_timestamp >= dateadd(WEEK, -1, current_date())
  ORDER BY data_timestamp DESC
  LIMIT 10;
Copy

특정 Cortex Search Service에 대한 최근 수동 새로 고침을 찾습니다.

SELECT
    data_timestamp,
    refresh_start_time,
    refresh_end_time,
    refresh_action,
    state
  FROM snowflake.account_usage.cortex_search_refresh_history(
    NAME => 'MYSVC',
    DATA_TIMESTAMP_START => dateadd(DAY, -7, current_timestamp()),
    RESULT_LIMIT => 20
  )
  WHERE refresh_trigger = 'MANUAL'
  ORDER BY data_timestamp DESC;
Copy

Cortex Search Service의 새로 고침 성능을 분석합니다.

SELECT
    name,
    data_timestamp,
    index_preprocessing_duration,
    indexing_duration,
    (refresh_end_time::TIMESTAMP_NTZ - refresh_start_time::TIMESTAMP_NTZ) AS total_refresh_duration_sec,
    index_preprocessing_statistics:numInsertedRows AS rows_processed
  FROM snowflake.account_usage.cortex_search_refresh_history
  WHERE name = 'MYSVC'
    AND state = 'SUCCEEDED'
    AND data_timestamp >= dateadd(DAY, -30, current_date())
  ORDER BY data_timestamp DESC;
Copy