생각 풀어내기
close
프로필 사진

생각 풀어내기

github: @mete0rfish

  • 분류 전체보기 (12)
    • Java & Kotlin (2)
    • Spring (7)
    • Server (1)
    • DB (2)
    • Reflection (0)
  • 홈
  • 태그
  • 방명록

[MySQL] 복합 인덱스를 활용한 2차 카테고리 기능 개선

문제 정의원툴의 높은 가용성 확보와 사용자 경험 향상을 위해 여러 성능 개선을 시도하고 있다. 우리 팀은 현재 가지고 있는 기술을 통해 문제를 해결해보고, 불가능할 경우 새로운 기술 도입을 검토하는 것을 지향한다. 그 중 가장 문제가 될 수 있다고 판단한 부분이 SLOW QUERY이다. 결국 대량의 데이터가 쌓일 경우, 예기치 못한 문제가 충분히 발생할 수 밖에 없기 때문이다.이를 위해 100만 건의 더미 데이터를 삽입한 뒤 쿼리 속도를 측정한 결과, Long Query가 발생하는 것을 발견했다. 이 경우, 한 커넥션이 오랫동안 붙잡고 있어 전체적인 성능 저하 및 병목이 발생한다. 따라서, 인덱스를 생성하여 쿼리를 개선해보고자 한다.더미 데이터는 총 10가지 1차 카테고리, 5가지의 2차 카테고리가 랜덤..

  • format_list_bulleted DB
  • · 2025. 11. 30.

[DB] MySQL과 pgSQL의 트랜잭션 격리 수준과 이상 현상

이상 현상이름설명Dirty Read다른 트랜잭션에서 Flush되지 않은 변경사항이 반영되는 현상Non-Repeatable Read같은 조회 쿼리 사이에 다른 트랜잭션의 커밋된 내용이 반영되어 조회 결과가 달라지는 현상Phantom Reads다른 트랜잭션에서 추가된 행이 반영되는 현상Lost Update현재 트랜잭션에 의해 다른 트랜잭션의 커밋된 변경사항이 사라지는 현상Dirty ReadsequenceDiagram participant T1 participant T2 T1->>DB: UPDATE value=100 (커밋 안 함) T2->>DB: SELECT value (100 읽음, 실제 커밋 전 데이터) T1->>DB: ROLLBACKT1에 의해 value가 100으로 변경되었..

  • format_list_bulleted DB
  • · 2025. 11. 27.
  • navigate_before
  • 1
  • navigate_next

Github Profile


Today I Learned

공지사항
  • 블로그 목표
전체 카테고리
  • 분류 전체보기 (12)
    • Java & Kotlin (2)
    • Spring (7)
    • Server (1)
    • DB (2)
    • Reflection (0)
인기 글
전체 방문자
오늘
어제
Copyright © 개발자 성원 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바