📌 배경
오픈마켓 연관 추천 상품 기능에서 낮은 사양의 전용 DB 장비로 인해 성능 이슈 발생
기존 테이블 구조: 사용자ID + 추천상품1~5 각각의 컬럼으로 구성 (총 11개 컬럼)
⚠️ 문제점
수직 컬럼 분할 구조로 인해 디스크 I/O 증가
저 사양 장비로, 11개의 컬럼을 가져오는 것만으로도 성능이 나오지 않음.
🛠 접근 방식
장비 증설 불가 상황에서 구조 개선 시도
테이블 구조를 단순화: 사용자ID, 추천상품정보(TEXT) 2개 컬럼으로 압축
추천 상품 정보를 텍스트로 조합하여 단일 컬럼에 저장
WITH절을 활용한 가상 컬럼처럼 쿼리 구성 → 개발자가 실패한 쿼리 직접 작성
💡 성과
1~2 블록 스캔 수준으로 쿼리 성능 안정화
별도 장비 증설 없이 문제 해결
DBA가 개발자와 협업해 데이터 구조부터 쿼리 최적화까지 일괄 해결한 사례