SAMPLING hint
SAMPLING 힌트는 지정한 비율에 따라 데이터를 추출합니다.
추출 비율은 실수 값인 SamplingRate로 지정하며, 1은 전체 데이터의 100%를 의미합니다.
문법
SELECT /*+ SAMPLING(SamplingRate) */ col1, col2, ...
FROM table_name
WHERE ...;| 매개변수 | 설명 |
|---|---|
SamplingRate | 데이터를 추출할 비율을 나타내는 실수 값 |
추출 비율을 백분율로 나타내려면 SamplingRate에 100을 곱합니다.
| SamplingRate | 추출 비율 |
|---|---|
1 | 100% (전체 데이터) |
0.01 | 1% |
0.0001 | 0.01% |
0.00001 | 0.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행까지 채워 반환하는 의미는 아닙니다.
관련 문서
- SELECT hint syntax — 전체 힌트 목록
- ROLLUP syntax — 정확한 시간 단위 집계
최근 업데이트