일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- java
- redis
- 생성자 주입
- jpa
- 재정의
- hashcode
- jwt
- equals
- stream
- 열 속성
- 조합
- AOP
- SQL
- KEVISS
- static
- Spring
- docker
- 테스트 코드
- VUE
- 인덱스
- lambda
- DI
- 바이너리 카운팅
- Test
- MSA
- DDL
- cache
- StringBuilder
- select_type
- 필드 주입
- Today
- Total
목록독서/업무에 바로쓰는 SQL 튜닝 (9)
백엔드 개발자 블로그
인덱스 변경, 삭제, 추가로 튜닝해보자인덱스 없이 작은 규모의 데이터를 조회하는 나쁜 SQL 문1. 튜닝 전1건 데이터출력 약 0.25초 소요 SELECT * FROM 사원WHERE 이름 = 'Georgi'AND 성 = 'Wielonsky'; 2. 튜닝 전 실행 계획 분석type : ALLEXPLAINSELECT *FROM 사원WHERE = 'Georgi'AND 성 = 'Wielonsky'; WHERE 조건절에 사용한 열의 DISTINCT데이터 개수 확인성_개수가 더 컸음SELECT COUNT(DISTINCT(이름)) 이름_개수,COUNT(DISTINCT(성)) 성_개수,COUNT(1) 전체FROM 사원; 3. 튜닝더 큰 개수를 가진 성_개수가 선두인 index 추가ALTER TABLE 사원 ADD IN..
조인방식, 서브쿼리 형태, 조인 조건절 등을 변경하여 튜닝해보자처음부터 모든 데이터를 가져오는 나쁜 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) 기본키를 변형하는 나쁜 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..
SQL 튜닝을 수행하기 전에 알아야 하는 물리 엔진의 구조, DB 오브젝트 관련 용어, 논리적인 쿼리문 작성 관련 용어, 개념적으로 통용되는 튜닝 용어를 알아보자물리 엔진과 오브젝트 용어DB 엔진 용어 DB엔진 = 스토리지 엔진 + MySQL엔진 스토리지 엔진 역할 : 요청한 SQL문을 토대로 DB에 저장된 디스크나 메모리에서 필요한 데이터를 가져오는 역할을 수행스토리지 엔진 선택InnoDB 엔진 : 온라인상의 트랜잭션 발생으로 데이터를 처리 - 일반적임MyISAM 엔진 : 대량의 쓰기 트랜잭션 처리Memory 엔진 : 메모리 데이터를 로드하여 빠르게 읽는 효과를 내려면MySQL 엔진 역할SQL문법 검사오브젝트 활용 검사SQL문을 최소 단위로 분리하여 원하는 데이터를 빠르게 찾는 경로를 모색스토리지 엔진..