목록 보기
biz-crm IndexedDAO 적용기
백엔드

biz-crm IndexedDAO 적용기

채널톡
채널톡
2026년 3월 5일

두줄요약

biz-crm 대용량 검색 지연 문제를 사용자 인터뷰로 원인부터 재점검했습니다. 범용 필터를 줄이고 IndexedDAO를 도입해 인덱스 기반 조회로 개선했습니다.

문제 상황

  • biz-crm 내부 백오피스에서 대용량 테이블 검색 시 타임아웃과 수 초 지연 발생
  • 1000만 건 이상 테이블에서 Full Table Scan이 일어나며 성능 저하
  • CX팀의 실제 사용 관점에서는 특정 채널 데이터 조회가 핵심이었으나 범용 필터 구조가 과도함

원인 분석

  • LOWER(col) 기반 대소문자 무시 검색으로 기존 인덱스 무력화
  • JOOQ의 equalIgnoreCase, containsIgnoreCase가 인덱스 비활성화 패턴 생성
  • 실제 사용 빈도가 낮은 Expression 다중 필터가 불필요한 조회 범위 확대 유발

해결 방법

  • 사용 패턴 인터뷰로 필수 조회 조건을 ChannelID 중심으로 재정의
  • 범용 Expression Filter는 유지하고 대용량 테이블에는 IndexedDAO 패턴만 적용
  • SearchRequest 단위로 검색 조건을 명시화해 인덱스 히트가 가능한 쿼리 생성

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...