일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 티스토리챌린지
- 코틀린 코루틴의 정석
- IntelliJ
- Spring
- 공부
- 기록으로 실력을 쌓자
- 정보처리기사실기 기출문제
- Pinpoint
- Java
- AWS EKS
- aws
- CKA
- Kubernetes
- 오블완
- kotlin querydsl
- kotlin coroutine
- AI
- Linux
- Elasticsearch
- 정보처리기사 실기 기출문제
- 정보처리기사 실기
- MySQL
- CKA 기출문제
- kotlin spring
- minikube
- CloudWatch
- PETERICA
- APM
- kotlin
- mysql 튜닝
- Today
- Total
목록mysql 튜닝 (4)
피터의 개발이야기
ㅁ 들어가며 [SQL튜닝] MySQL 쿼리 튜닝, 쿼리 실행계획, Explain에서 쿼리의 튜닝을 위한 Explain을 보는 방법과 Explain 컬럼을 분석하여 최적의 쿼리를 분석하는 방법을 공부하였다. 이번 글에서는 SQL 튜닝 책 4장과 5장을 공부하면서 튜닝의 방법들을 정리해 보았다. ㅁ Intellij의 확장된 Explain 활용방법 ㅇ Mysql 8.0.18 이상의 경우 Explain Analyze을 제공한다. ㅇ 위의 캡쳐에서 Explain Plan의 경우 EXPLAIN FORMAT=TREE Explain Plan(Raw)의 경우 EXPLAIN FORMAT=TRADITIONAL에 해당한다. 와 각각의 Raw 분석을 제공하고 있다. 튜닝을 학습하는 과정에서 개별 Explain를 살펴보고 각각의..
ㅁ 개요 MySQL의 문자열에서 특정문자열의 검색을 위해서 LIKE 함수를 많이 이용합니다. 상황에 따라서 INSTR이 더 빠른 경우도 있는데, 구체적으로 INSTR, LOCATE, LIKE, REGEXP들의 속도차이가 얼마인지, 다시 말해 상황에 따라 어떤 것이 더 효율적인지 분석한 내용을 정리하였습니다. ㅁ 테스트 방법 a-z의 문자열에서 처음, 중간, 끝의 문자열 검색 속도를 비교 하기 위해 테스트를 진행하였습니다. [MySQL] 실습환경 구성하기에서 생성한 MySQL이며, 버젼은 5.7.37입니다. ### INSTR ### # 16 s 529 ms SELECT BENCHMARK(50000000,INSTR('abcdefghijklmnopqrstuvwxyz','abc')) # 1 m 24 s 146 ..
ㅁ 들어가며 MySQL DB에서 Select 쿼리가 늦어지는 이유에 대해서 정리하였습니다. 1. 시스템 리소스를 초과하는 경우 MySQL DB가 처리 가능한 워크로드 용량을 초과하여 CPU 사용량이 많거나, 메모리가 부족하게 됩니다. CPU 사용률과 가용 메모리를 항상 모니터링하는 것이 좋습니다. 가끔 CPU 스파이크가 발생하는 것은 정상이지만 오랜 기간 동안 지속적으로 많은 CPU가 사용되면 SELECT 쿼리가 느리게 실행될 수 있습니다. SELECT 쿼리는 디스크 탐색으로 인해 실행 속도가 저하될 수 있습니다. 디스크 I/O를 최소화하기 위해 데이터베이스 엔진은 디스크에서 읽은 블록을 캐시하려고 합니다. 즉, 다음에 데이터베이스가 동일한 데이터 블록을 필요로 할 때 디스크가 아닌 메모리에서 해당 블록..
ㅁ 개요 ㅇ mysql의 성능향상을 위한 구체적인 지표를 얻을 수 있는 방법을 찾고 있었다. ㅇ profiling을 통해 디비 프로세스의 다양한 성능지표를 확인하여 쿼리 성능을 확인할 수 있다. ㅁ Mysql 버젼확인 ㅇ 참고로 현재 테스트 중인 Mysql은 회사에서 사용 중인 AWS Aurora RDS와 동일한 5.7버젼에 맞추었다. ㅁ SHOW PROFILE 이란? MySQL 에서 쿼리가 처리되는 동안 각 단계별 작업에 시간이 얼마나 걸렸는지 확인 할 수 있는 기능을 제공하며 쿼리 프로파일링(Query Profiling) 기능을 제공하고 있다. 쿼리 프로파일링(Query Profiling)는 MySQL 5.1 이상에서 부터 지원한다. 메모 SHOW PROFILE은 향후 MySQL 릴리스에서 제거될 것..