본문 바로가기 메뉴 바로가기

공부노트

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

공부노트

검색하기 폼
  • 분류 전체보기 (42)
    • Java (14)
    • DB (2)
    • JPA (2)
    • 네트워크 (1)
    • Git & GitHub (2)
    • 기타 (2)
    • Web (2)
      • Spring (9)
    • 하루스터디 (7)
  • 방명록

DB (2)
[InnoDB] 인덱싱되지 않은 컬럼으로 UPDATE 시 데드락이 발생한다

결제 서비스를 만들고 테스트하던 중 인덱싱 되지 않은 컬럼을 검색 조건으로 활용한 Update에서, 단건의 요청 처리에 대해 문제가 없었으나 다수의 요청 동시 처리 시 데드락이 발생하는 상황을 경험했다.   1. 데드락 확인 org.springframework.dao.TransientDataAccessResourceException: execute; SQL [UPDATE payment_ordersSET payment_order_status = :status, updated_at = CURRENT_TIMESTAMPWHERE order_id = :orderId]; Deadlock found when trying to get lock; try restarting transaction 스프링을 통해 어떤 로직을..

DB 2024. 7. 8. 00:58
정규화의 정의와 3.5정규형까지

정규화(Normalization)의 정의와 목적 하나의 테이블에 모든 정보를 저장하면 필연적으로 동일한 내용의 중복이 많아지게 된다. 중복이 많아짐은 저장 공간의 낭비는 물론이고, 삽입/삭제/갱신과 관련된 데이터베이스 이상 현상(Anomaly)이 발생하기도 쉬워진다. 데이터베이스 정규화(Normalization)는 관계형 데이터베이스를 설계할 때 중복이 최소화되도록 데이터를 구조화하는 과정을 의미한다. 정규화 과정은 제1 정규형에서 제5 정규형까지 존재하며, 상위의 정규형은 하위 정규형의 조건을 모두 만족한다. 이 글에서는 제3 정규형과 3.5 정규형으로 불리는 보이스-코드 정규형(Boyce-Codd normal form, BCNF)까지의 과정을 다룬다. 정규화되지 않은 비정규 릴레이션 상품 번호 상품 ..

DB 2022. 8. 30. 21:16
이전 1 다음
이전 다음
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
  • Spring 테스트
  • Spring
  • Spring Boot Monitoring
  • MySQL 이벤트 스케줄
  • Fromtail
  • 자바
  • 함수형 인터페이스
  • Payload 암호화
  • 우테코
  • GitHub Discussion
  • java switch case
  • GitHub Discussion Template
  • 람다식
  • 생성자 주입
  • MySQL
  • invokedynamic
  • RandomPort
  • JPA JSON
  • 의존성 주입
  • Java
  • springboottest
  • 우테코 프리코스
  • JPA
  • GitHub Discussion 템플릿
  • Jenkins 예약 배포
  • logback-spring.xml
  • 스프링
  • stubbing
  • 우테코 5기
  • multiplebagsfetchexception
more
«   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
글 보관함

Blog is powered by Tistory / Designed by Tistory

티스토리툴바