MySQL DATETIME과 TIMESTAMP
MySQL DATETIME과 TIMESTAMP가 값을 저장하는 방식과 세션 타임존에 따른 변환, 2038년 범위 한계를 예제로 비교하고 어떤 타입을 고를지 기준을 정리합니다.
MySQL DATETIME과 TIMESTAMP가 값을 저장하는 방식과 세션 타임존에 따른 변환, 2038년 범위 한계를 예제로 비교하고 어떤 타입을 고를지 기준을 정리합니다.
데드락이 생기는 네 가지 조건과 운영체제의 예방·회피·감지·무시 전략을 정리하고, InnoDB·JVM·tryLock·락 순서 정렬 같은 실제 도구가 각각 어느 전략에 해당하는지 예제 흐름도로 연결합니다.
RDBMS와 ElasticSearch의 용어 차이를 정리하고, 인덱스 생성·삭제, 매핑 정의, 도큐먼트 삽입 같은 기본 명령어를 MySQL 작업과 대응시켜 실습합니다.
역인덱스가 단어 단위 검색을 빠르게 만드는 원리와, MySQL 인덱스 대비 역인덱스가 감수하는 쓰기·갱신 비용의 트레이드오프를 정리합니다.
응답에 6초 이상 걸리던 페이지의 원인을 실행계획으로 분석하고, MySQL 옵티마이저가 데이터가 적은 테이블을 드라이빙 테이블로 고르며 생긴 문제를 STRAIGHT_JOIN으로 해결한 경험을 정리합니다.
MySQL이 인덱스로 B-Tree를 사용하는 이유와 인덱스의 동작 방식을 그림으로 살펴보고, 복합 인덱스를 활용해 불필요한 단일 인덱스로 인한 자원 낭비를 줄이는 실무 설계 방법을 정리합니다.
API 요청마다 TCP 연결을 맺고 끊는 비효율을 DBCP가 어떻게 해결하는지 흐름도로 설명하고, MySQL의 max_connections·wait_timeout과 HikariCP의 minimumIdle, maximumPoolSize, maxLifetime, connectionTimeout 설정을 정리합니다.
비관적 락의 개념과 S-Lock/X-Lock, 갭 락과 next-key lock의 동작을 살펴보고, JPA 동시성 테스트로 재고 차감 문제를 해결하는 과정과 갭 락으로 생기는 데드락을 예제 흐름도와 함께 정리합니다.
재고 차감 동시성 테스트로 문제를 재현하고, JPA @Version 기반 낙관적 락의 동작 원리와 사용 시점, 주의할 점을 예제 흐름도와 함께 정리합니다.
InnoDB의 클러스터·세컨더리·커버링 인덱스 구조를 정리하고, OFFSET 페이지네이션이 느린 이유와 Deferred Join, No Offset, 파티셔닝, 페이지 번호 제한으로 최적화하는 방법을 그림과 함께 비교합니다.
MySQL 인덱스의 동작과 장단점, 카디널리티·선택도 개념을 예제 흐름도와 함께 살펴보고, 복합·커버링 인덱스와 LIKE 검색까지 인덱스를 효율적으로 설계하는 방법을 정리합니다.