일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- Spring
- 컴퓨터구조
- Proxy
- Java
- 운영체제
- Galera Cluster
- 네트워크
- c언어
- C
- Kafka
- design pattern
- 자료구조
- 디자인 패턴
- OS
- react
- MSA
- IT
- spring webflux
- Data Structure
- mongoDB
- MySQL
- JavaScript
- Algorithm
- 자바
- redis
- JPA
- 알고리즘
- 파이썬
- Heap
- Today
- Total
목록전체 글 (211)
시냅스

이 글에서는 No Offset 방식이 왜 빠른지 이해하기 위한 개념과 예시를 상술합니다. LIMIT MySQL 에서 LIMIT 은 범위를 제한할 때 사용합니다. 쿼리 결과에서 지정된 순서에 위치한 레코드만 가져오고 싶을 때에 유용하게 사용됩니다. SELECT * FROM test_tb LIMIT 0, 10; 위와 같은 쿼리에서 만약 LIMIT 이 없었다면 테이블 풀 스캔을 실행하여 결과값을 반환했을 것입니다. 하지만 이 때 LIMIT 을 사용하면서 MySQL 엔진은 레코드를 10건만 읽은 직후 반환하게 됩니다. 따라서 모든 레코드를 읽어야하는 것 보다 훨씬 부하가 줄게 됩니다. -- 1 SELECT * FROM test_tb GROUP BY first_name LIMIT 0, 10; -- 2 SELECT..

Jenkins 새로운 프로젝트를 진행하며 CI/CD 의 구성을 꽤 우선순위로 잡았다. 워커 인스턴스에서는 Docker로 감싼 NGINX + WAS 여러대를 생각하고 있어 프로젝트 규모가 크지 않지만 여러가지 확장성과 가시성을 고려할 때 Jenkins 를 고려하였다. 배포 시간이 긴 것은 크게 문제가 되지 않을 것 같아, 젠킨스를 프리티어 인스턴스에서 전담하게 하였다. 그리고 무수한 page fault 의 악수 요청이 들어왔다... 1.4 초 라고 써있었지만, 1.4초 뒤에 인스턴스가 먹통이 돼서 움직이지 않았다… (약 1시간 이상 기다렸다…) CPU Usage 가 100% 로 치솟고 메모리가 80% 이상이 되는 기현상을 발견했다. demand paging을 위한 메모리 과할당 상황이 발생한 것으로 판단했..

이 글에서는 커버링 인덱스와 pk 를 활용한 복합 인덱스에 대해 간단한 예시를 통해 설명합니다. 커버링 인덱스 Covering Index는 특정 쿼리의 모든 필요한 데이터를 인덱스에서 직접 얻을 수 있게 하는 인덱스입니다. 이는 테이블 자체에 접근할 필요 없이 인덱스에서 쿼리의 모든 필요한 데이터를 찾을 수 있게 합니다. 커버링 인덱스는 인덱스에서 충족하는 데이터를 갖고 있어 디스크 I/O 를 줄이고, 테이블 락을 줄임으로써 데이터베이스의 전반적인 부하를 감소시켜 성능을 향상시킵니다. 예제1 - 단순 select 테이블은 위와 같은 모습으로 준비했습니다. id 는 pk, auto increment 로 하나씩 올라갑니다. 또한 테이블에는 미리 1,000 만 개의 데이터를 넣어 두었습니다. 커버링 인덱스는 ..