Skip to content

SAMPLING hint

SAMPLING 힌트는 지정한 비율에 따라 데이터를 추출합니다. 추출 비율은 실수 값인 SamplingRate로 지정하며, 1은 전체 데이터의 100%를 의미합니다.

문법

SELECT /*+ SAMPLING(SamplingRate) */ col1, col2, ...
  FROM table_name
 WHERE ...;
매개변수설명
SamplingRate데이터를 추출할 비율을 나타내는 실수 값

추출 비율을 백분율로 나타내려면 SamplingRate에 100을 곱합니다.

SamplingRate추출 비율
1100% (전체 데이터)
0.011%
0.00010.01%
0.000010.001%

예시

-- 조건에 맞는 행을 최대 100,000행으로 제한한 범위에서 1% 비율로 추출
SELECT /*+ SAMPLING(0.01) */ t_name, time, value
  FROM tag
 WHERE t_name = 'TAG_99'
 LIMIT 100000;

주의사항

  • SamplingRate는 시간 간격이나 반환 행 수가 아니라 추출 비율입니다.
  • 반환 행 수는 실행마다 달라질 수 있으며, 지정 비율에 해당하는 정확한 행 수를 보장하지 않습니다.
  • 데이터가 적거나 추출 비율이 낮으면 결과가 0행일 수 있습니다.
  • 위 예제처럼 LIMIT를 함께 사용하면 LIMIT로 제한된 행 범위에서 샘플링합니다. 예를 들어 SAMPLING(0.5)LIMIT 1000을 함께 지정하면, 조건에 맞는 데이터가 충분한 경우 최대 1,000행의 범위에서 약 50%를 추출합니다. 샘플링 결과를 1,000행까지 채워 반환하는 의미는 아닙니다.

관련 문서

최근 업데이트