KSCOLD LogoKSCOLD
Blog
Feed
Product
Admin Night
Vault
Guestbook
Info

Vault 목록

풀 스캔(Full Scan)

연결된 노트와 함께 읽기

풀 스캔(Full Scan)

2026년 8월 28일

풀 스캔(Full Scan)

  • 풀 스캔은 DB가 문서를 처음부터 끝까지 하나씩 읽어 조건을 확인하는 것이다.
  • MongoDB explain에서는 COLLSCAN, MySQL에서는 type: ALL로 보인다.

비용

문서 수풀 스캔B-tree 인덱스
1,0001,000회약 10회
10,00010,000회약 14회
1,000,0001,000,000회약 20회

데이터가 커질수록 격차가 벌어진다. 개발 DB에서 안 느껴지다가 운영에서 터지는 이유다.

풀 스캔이 나쁘지 않은 경우

  • 문서가 몇십 건뿐일 때. 인덱스 탐색 오버헤드가 오히려 클 수 있다.
  • 어차피 전체를 다 읽어야 할 때. 스냅샷 적재, 배치 집계.
  • 조건이 전체의 절반 이상을 고를 때. 옵티마이저가 일부러 풀 스캔을 고르기도 한다.

벡터 쪽의 같은 개념

Qdrant에서 exact=True가 정확히 이 자리다. HNSW 그래프를 건너뛰고 모든 벡터와 코사인 유사도를 계산한다. 결과는 100% 정확하지만 O(N)이다. 벡터 세계의 ANN(근사 최근접 이웃)은 이 풀 스캔을 피하려고 존재한다.

한 줄 정리

풀 스캔은 전부 확인하기이고, 데이터가 커질수록 선형으로 느려진다. 인덱스도 ANN도 전부 이걸 피하려는 장치다.

관련

  • 인덱스(Index)
  • B-tree
  • explain과 실행 계획
  • ANN(근사 최근접 이웃)

Synapse Map Insight