Skip to content

[REFACTOR] 소매 엑셀 업로드 성능 개선 #185

@JoonKyoLee

Description

@JoonKyoLee

🔁 리팩토링이 필요한 부분

  • Row 단위로 productRepository.findByCode, inventoryRepository.findByProduct을 호출합니다.
  • 업로드 데이터 증가 시 N+1 쿼리 및 불필요한 DB 접근이 발생할 수 있습니다.
  • 재고 차감 로직이 조회 + 차감을 반복 수행하여 flush 비용이 증가할 수 있습니다.

🧱 작업 내용

  • Excel 전체 row에서 productCode 목록 선수집
  • findByCodeIn()을 이용한 Product 일괄 조회 후 Map 캐싱
  • Product 기반 Inventory 일괄 조회 후 Map으로 변환
  • loop 내부에서는 Map 기반 접근으로 조회 제거
  • 재고 차감은 메모리 내 엔티티 상태 변경 후 한 번에 flush

⚠️ 유의 사항 (선택)

리팩토링 시 주의해야 할 부분이나 테스트 범위가 있다면 작성해주세요.

📌 참고 자료

관련 PR(#155, #162)

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions