요르딩딩
[DB] 쿼리 최적화 본문
728x90
반응형
- SELECT * 보다는 필요한 컬럼만 추출할것 (성능향상 27%)
- Having절 보다는 Where절 사용할것 (성능향상 31%)
- DISTINCT문 보다는 Primary Key이용할것 (성능향상 85%)
- 서브쿼리 보다는 JOIN문 사용할것 (성능향상 61%) (서비쿼리는 ANY, ALL, EXIST등이 사용되는1개의 테이블을 사용할때 권장)
- OR 보다 IN-List 사용할것 (성능향상 73%) (WHERE id = 14 OR id = 17 보다 WHERE id IN (14, 17) 사용)
- DISTINCT 보다 WHERE EXIST(서브쿼리) 사용할것 (성능향상 61%) (distinct는 모두조회한다.)
- UNION 보다 UNION ALL 사용 (성능향상 81%) (UNION ALL은 중복검사를 하지 않아 더 빠름)
- OR 보다 UNION ALL 사용 (성능향상 70%) (FROM A JOIN B ON A.id OR B.id) 보다 (FROM A JOIN B ON A.id UNION ALL FROM A JOIN B ON B.id) 사용
- 집계함수 제거 (성능향상 70%) (A=12 AND A=8 보다는 BETWEEN 12 AND 8)
- 수학연산제거 (성능향상 11%) (id+100<350 보다는 id < 250 사용)
728x90
반응형
'[Web] > [DB & Mybatis]' 카테고리의 다른 글
[DB] 옵티마이저 (Optimizer) (0) | 2021.06.23 |
---|---|
[DB] mybatis trim (0) | 2021.06.10 |
[DB] 인덱스 장점/단점 (0) | 2021.05.21 |
[TIP] 쿼리작성 팁 (mybatis) (0) | 2021.03.14 |
[BASE] DataBase 강의2 정리 (0) | 2021.03.07 |
Comments