일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- mock
- Level2
- 트랜잭션
- Spring Batch
- JPA
- CircuitBreaker
- AWS
- 우아한세미나
- MSA
- 프로그래머스
- 스프링 부트
- JUnit5
- AOP
- REDIS
- 코드리뷰
- 스프링부트
- Docker
- 자바
- 미션
- 백준
- 우아한테크코스
- 세션
- Paging
- yml
- 서블릿
- 프리코스
- HTTP
- 의존성
- 레벨2
- 우테코
- Today
- Total
목록인덱스 (2)
늘
limit이 걸린 쿼리는 limit이 안걸린 쿼리보다 항상 빠르다? ----- (X)모든 조회쿼리에서 limit이 걸리면 특정 개수만 조회하기에 항상 빨라질거라 생각했지만 limit을 해제하니 오히려 쿼리 속도가 더 빨라졌습니다. 어떻게 이런 일이 발생했는지 확인해보겠습니다.해결 과정에서 헛다리도 짚었는데 그 과정 또한 기록했습니다. 결론만 보고싶으신 분은 아래로 가주시면 됩니다. 가정우선 예시 테이블 구조를 설명해드리겠습니다. history테이블은 5억이상의 데이터가 적재되어있고 복합 인덱스가 걸려있습니다.CREATE TABLE history ( id INT AUTO_INCREMENT PRIMARY KEY, active_id INT NULL, event_type VARCHAR(255) ..
학교 데이터베이스 수업을 들으면서 뒤로 갈수록 내용이 심화되고 좋은 정보도 많기에 글로 정리해보려고 한다!🤓🤓 Disk 구조 중요한 점은 File은 block단위로 디스크에 저장되고 메모리에 load 할 때는 page단위로 한다는 점이다. 그래서 block단위의 file들을 메모리에 가져올 때 transfer time이라는 비용이 발생한다. 이러한 transfer비용을 줄이기 위해서 cache가 등장한다. 이때, cache에서 read 할 땐 괜찮지만 update/delete 할 때는 디스크와의 동기화를 맞춰야 하는 게 중요하다.(db replication 할 때도 느꼈을 것이다) 이제 index를 보면 크게 두 가지로 나뉜다. unclustered Index : 엔트리 순서와 데이터 순서가 일치하지 않..