MySQL/MariaDB, 페이지네이션 적용시 슬로우 쿼리 현상 해결하기
개요 최근 슬로우 퀴리 이슈를 해결하면서 비약적인 속도 향상을 경험했는데, 사실 지금도 완전히 이해가 되지 않는 기묘한 부분이라 먼저 정리해둔다. 확인된 이슈 문제의 쿼리는 아래 모양새의 전형적인 페이지네이션 쿼리이다. (실제 운영 쿼리는 복잡한 여러 JOIN 절이 추가되어 있다.) SELECT * FROM foo WHERE ... ORDER BY created_at, id LIMIT 500 OFFSET 0; 신기한 점은 대부분의 쿼리 조건에서는 전혀 문제가 없었지만 특정 조건에서만 ORDER BY, LIMIT, OFFSET의 조합이 30~50초의 슬로우 쿼리로 모니터링되었다.처음에는 WHERE 조건의 대상과 순서를 적절히 재배치하여 효과를 보았지만, 모니터링 결과 이 것이 단순한 인덱스 사용 효율의 문..
SW 개발
2022. 3. 29. 16:55
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Eclipse
- 로드바이크
- 구동계
- JavaScript
- JHipster
- kotlin
- MySQL
- jstl
- Spring Boot
- Spring MVC 3
- node.js
- java
- CentOS
- Tomcat
- 로드 바이크
- 알뜰폰
- 자전거
- maven
- DynamoDB
- jsp
- jpa
- bootstrap
- graylog
- chrome
- 태그를 입력해 주세요.
- spring
- Kendo UI Web Grid
- Kendo UI
- Docker
- 평속
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함