sagecode 님의 블로그

  • 홈
  • 태그
  • 방명록

key 1

[Project] 복합 키 적용 전후, MySQL 성능 차이 실험 - MySQLWorkBench

복합 키를 쓰면 정말 쿼리 성능이 좋아질까?JPA에서 N:M 관계를 설계할 때, 중간 테이블에 고유 ID(@Id)를 쓸지, 복합 키(@EmbeddedId)를 쓸지는 꽤 자주 마주치는 고민이다.이전 포스팅(복합 키를 사용할 때 주의할 점)에서는 주로 설계적인 장점을 다뤘다면, 이번엔 성능을 실제로 수치화해서 비교해봤다. 실험 배경EduClass에서 ProblemSet(문제집)과 Problem(문제)은 N:M 관계를 갖는다. 이를 위해 중간 테이블 problem_set_to_problem을 설계했는데, 초기엔 단순하게 id를 기본 키로 쓰는 방식으로 구성했다. 하지만 두 가지 문제가 발생했다:중복 등록 방지 불가→ 동일한 문제집-문제 조합이 여러 번 삽입됨조회 성능 저하→ problem_set_id로 검색 ..

EduClass Project 2025.03.25
이전
1
다음
더보기
프로필사진

sagecode 님의 블로그

sagecode 님의 블로그 입니다.

  • 분류 전체보기 (76) N
    • JAVA (20)
    • SPRING (9)
    • OS (3)
    • Network (4)
    • DATABASE (3)
    • 자료구조 (5)
    • Interview Question (8)
    • EduClass Project (8)
    • ShoppingMall Project (4)
    • 멋사 부트캠프 (12) N

Tag

디자인패턴, 상속, GoF, JPA, java문법, controller, JVM, Entity, 의존성주입, stack, springboot, 다형성, Gradle, HTTP, Spring, 팩토리메소드패턴, springproject, sagecode, 자료구조, Java,

최근글과 인기글

  • 최근글
  • 인기글

최근댓글

공지사항

페이스북 트위터 플러그인

  • Facebook
  • Twitter

Archives

Calendar

«   2025/08   »
일 월 화 수 목 금 토
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31

방문자수Total

  • Today :
  • Yesterday :

Copyright © Kakao Corp. All rights reserved.

티스토리툴바