일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lambda
- DI
- java
- hashcode
- select_type
- Test
- 테스트 코드
- 열 속성
- equals
- docker
- cache
- KEVISS
- 생성자 주입
- MSA
- 필드 주입
- SQL
- 인덱스
- stream
- redis
- jwt
- 조합
- StringBuilder
- AOP
- static
- jpa
- 바이너리 카운팅
- Spring
- DDL
- 재정의
- VUE
- Today
- Total
목록전체 카테고리 (196)
백엔드 개발자 블로그
조인방식, 서브쿼리 형태, 조인 조건절 등을 변경하여 튜닝해보자처음부터 모든 데이터를 가져오는 나쁜 SQL문1. 튜닝 전소요 시간 2.36초SELECT 사원.사원번호, 급여.평균연봉 금여.최고연봉 급여.최저연봉FROM 사원, (SELECT 사원번호, ROUND(AVG(연봉),0) 평균연봉, ROUND(MAX(연봉),0) 최고연봉, ROUND(MIN(연봉),0) 최저연봉 FROM 급여 GROUP BY 사원번호 ) 급여WHERE 사원.사원번호 = 급여.사원번호AND 사원.사원번호 BETWEEN 10001 AND 10100; 2. 튜닝 전 실행 계획 분석인라인 스키마 : 조건절 없이 group by -> 전체 데이터 접근where betwe..
1) 작은 테이블이 먼저 조인에 참여하는 나쁜 SQL2) 메인 테이블에 계속 의존하는 나쁜 SQL3) 불필요한 조인을 수행하는 나쁜 SQL1) 작은 테이블이 먼저 조인에 참여하는 나쁜 SQLSELECT 매핑.사원번호, 부서.부서번호FROM 부서사원_매핑 매핑,부서WHERE 매핑.부서번호 = 부서.부서번호AND 매핑.시작일자 >= '2002-03-01';* 결과+----+-------------+-------+------------+-------+---------------+------------+---------+----------------------+-------+----------+-------------+| id | select_type | table | partitions | type | po..
1) 기본키를 변형하는 나쁜 SQL문2) 사용하지 않는 함수를 포함하는 나쁜 SQL문3) 형변환으로 인덱스 활용하지 못하는 나쁜 SQL문4) 열을 결합하여 사용하는 나쁜 SQL문5) 습관적으로 중복을 제거하는 나쁜 SQL문6) 다수 쿼리를 UNION 연산자로만 합치는 나쁜 SQL문7) 인덱스 고려 없이 열을 사용하는 나쁜 SQL문8) 엉뚱한 인덱스를 사용하는 나쁜 SQL문9) 동등 조건으로 인덱스를 사용하는 나쁜 SQL문10) 범위 조건으로 인덱스를 사용하는 나쁜 SQL 문1) 기본키를 변형하는 나쁜 SQL문튜닝 전 (SUBSTRING)SUBSTRING의 WHERE 조건절에 사용 => TYPE : ALL(전체테이블 탐색)이 됨SELECT *FROM 사원WHERE SUBSTRING(사원번호,1,4) = 1..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cfzh9e/btsJpHDwFCK/jSKMZqT8N04HKGmqotCHs0/img.png)
실습환경 구성, 실행 계획을 수행하는 방법, 출력 결과의 의미, 물리적인 시간 단위 정보인 프로파일링을 이해해보자3.2장실행 계획 수행1) 기본 실행 계획 수행2) 기본 실행 계획 항목 분석3) 좋고 나쁨을 판단하는 기준4) 확장된 실행 계획 수행1. 기본 실행 계획 수행1) 실행계획 확인 명령어EXPLAIN SQL문;DESCRIBE SQL문;DESC SQL문;2) MySQL, MariaDB 에서 실행 계획둘 다 EXPLAIN,DESCRIBE,DESC 사용 가능MariaDB 10.05 버전 이상에서는 UPDATE,DELETE 문에서도 실행 계획 확인 가능2. 기본 실행 계획 항목 분석1) id조인 순서EXPLAINSELECT 사원.사원번호, 사원.이름, 사원.성, 급여.연봉, (SELECT M..