
선착순 쿠폰 발급과 동시성 문제
들어가며 Real MySQL 8.0 11.4.13 "잠금을 사용하는 SELECT" 를 읽다 보면, 선착순 쿠폰 발급 시 동시에 1000개의 요청이 들어오는 상황을 예로 들며 NOWAIT과 SKIP LOCKED를 설명한다. 책에서는 간단히 언급하고 넘어가지만, 실제로 이 문제를 해결하려면 상당히 깊은 이해가 필요하다. 특히 배달, 커머스 기업 등에서...

들어가며 Real MySQL 8.0 11.4.13 "잠금을 사용하는 SELECT" 를 읽다 보면, 선착순 쿠폰 발급 시 동시에 1000개의 요청이 들어오는 상황을 예로 들며 NOWAIT과 SKIP LOCKED를 설명한다. 책에서는 간단히 언급하고 넘어가지만, 실제로 이 문제를 해결하려면 상당히 깊은 이해가 필요하다. 특히 배달, 커머스 기업 등에서...

지연된 조인 드라이빙 테이블만으로 필요한 데이터를 먼저 필터링한 후, 최소한의 레코드로만 조인을 수행하는 기법이다. 조인을 사용하는 쿼리에서 GROUP BY, ORDER BY, LIMIT 등이 함께 사용될 때 성능을 높이기 위해 조인을 최대한 늦추고 필요한 데이터만 먼저 필터링한다. 같은 결과를 반환하는 두 쿼리를 예시로 진행해보자. S...

Real MySQL 8.0 : 11장 쿼리 작성 및 최적화 (2) - SELECT 들어가며 SELECT 문은 데이터베이스에서 가장 많이 사용되는 SQL 문이다. 단순히 데이터를 조회하는 것처럼 보이지만, 내부적으로는 여러 단계의 처리 과정을 거치며 인덱스 활용 여부에 따라 성능이 크게 달라진다. 이번 글에서는 Real MySQL 8.0 2권 11장...

3장 : 레디스 기본 개념 들어가며 레디스는 단순한 키-값 저장소가 아니다. 다양한 자료 구조를 지원하는 데이터 구조 서버 라고 표현하는 것이 더 정확하다. 기존의 키-값 저장소가 문자열 키와 문자열 값만을 연결했다면, 레디스는 String, List, Hash, Set, Sorted Set 등 복잡한 자료 구조를 지원한다. 이번 장에서는 레디스...

Real MySQL 8.0 : 11장 쿼리 작성 및 최적화 들어가며 MySQL에서 SQL을 작성할 때, 단순히 문법만 맞추면 되는 것이 아니다. MySQL 서버의 설정에 따라 대소문자 구분, 문자열 표기 방법, 날짜 형식 등이 달라지며, 이러한 시스템 변수들을 이해하지 못하면 예상치 못한 동작이나 오류를 마주하게 된다. 11.1 쿼리 작성과 ...

[Gold II] 가운데를 말해요 - 1655 문제 링크 성능 요약 메모리: 34180 KB, 시간: 428 ms 분류 자료 구조, 우선순위 큐 제출 일자 2025년 11월 18일 17:21:19 문제 설명 백준이는 동생에게 "가운데를 말해요" 게임을 가르쳐주고 있다. 백준이가 정수를 하나씩 외칠때마다 동생은 지금까지 백준이가 말한 수...

[level 2] 주식가격 - 42584 문제 링크 성능 요약 메모리: 72.4 MB, 시간: 42.60 ms 구분 코딩테스트 연습 > 스택/큐 채점결과 정확성: 66.7효율성: 33.3합계: 100.0 / 100.0 제출 일자 2025년 11월 15일 18:25:39 문제 설명 초 단위로 기록된 주식가격이 담긴 배열 pric...

Item 54 : null이 아닌, 빈 컬렉션이나 배열을 반환하라 들어가며 메서드가 컬렉션이나 배열을 반환할 때, 결과가 없는 경우 어떻게 처리해야 할까? 많은 개발자들이 null을 반환하는 것이 자연스럽다고 생각한다. 하지만 이는 클라이언트 코드에 방어 로직을 강제하고, 방어 코드를 빼먹으면 NullPointerException이라는 지뢰를 ...

Item 51 : 메서드 시그니처를 신중히 설계하라 들어가며 API 설계에서 메서드 시그니처는 개발자가 매일 마주하는 인터페이스다. 잘 설계된 메서드 시그니처는 코드의 가독성을 높이고 오류 가능성을 줄이며, API의 사용성을 크게 향상시킨다. 반대로 부주의하게 설계된 시그니처는 혼란을 야기하고 버그의 온상이 되며, 한번 공개되면 영원히 지원해야 하...

[level 4] 저자 별 카테고리 별 매출액 집계하기 - 144856 문제 링크 성능 요약 메모리: 0.0 MB, 시간: 0.00 ms 구분 코딩테스트 연습 > GROUP BY 채점결과 Empty 제출 일자 2025년 11월 09일 16:48:06 문제 설명 다음은 어느 한 서점에서 판매중인 도서들의 도서 정보(BOOK), ...