SQL 튜닝 실전 경험: 테이블 구조 변경을 통한 연관 상품 추천 성능 개선

seogideogi·2025년 5월 16일

DB

목록 보기
3/3

📌 배경

오픈마켓 연관 추천 상품 기능에서 낮은 사양의 전용 DB 장비로 인해 성능 이슈 발생

기존 테이블 구조: 사용자ID + 추천상품1~5 각각의 컬럼으로 구성 (총 11개 컬럼)

⚠️ 문제점

  • 수직 컬럼 분할 구조로 인해 디스크 I/O 증가

  • 저 사양 장비로, 11개의 컬럼을 가져오는 것만으로도 성능이 나오지 않음.

🛠 접근 방식

  • 장비 증설 불가 상황에서 구조 개선 시도

  • 테이블 구조를 단순화: 사용자ID, 추천상품정보(TEXT) 2개 컬럼으로 압축

  • 추천 상품 정보를 텍스트로 조합하여 단일 컬럼에 저장

  • WITH절을 활용한 가상 컬럼처럼 쿼리 구성 → 개발자가 실패한 쿼리 직접 작성

💡 성과

  • 1~2 블록 스캔 수준으로 쿼리 성능 안정화

  • 별도 장비 증설 없이 문제 해결

  • DBA가 개발자와 협업해 데이터 구조부터 쿼리 최적화까지 일괄 해결한 사례

profile
한 줄 소개 하고 싶지 않아요.

0개의 댓글