요르딩딩

[DB] 쿼리 최적화 본문

[Web]/[DB & Mybatis]

[DB] 쿼리 최적화

요르딩딩 2021. 5. 28. 11:50
728x90
반응형
  1. SELECT * 보다는 필요한 컬럼만 추출할것 (성능향상 27%)
  2. Having절 보다는 Where절 사용할것 (성능향상 31%)
  3. DISTINCT문 보다는 Primary Key이용할것 (성능향상 85%)
  4. 서브쿼리 보다는 JOIN문 사용할것 (성능향상 61%) (서비쿼리는 ANY, ALL, EXIST등이 사용되는1개의 테이블을 사용할때 권장)
  5. OR 보다 IN-List 사용할것 (성능향상 73%) (WHERE id = 14 OR id = 17 보다 WHERE id IN (14, 17) 사용)
  6. DISTINCT 보다 WHERE EXIST(서브쿼리) 사용할것 (성능향상 61%) (distinct는 모두조회한다.)
  7. UNION 보다 UNION ALL 사용 (성능향상 81%) (UNION ALL은 중복검사를 하지 않아 더 빠름)
  8. 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) 사용
  9. 집계함수 제거 (성능향상 70%) (A=12 AND A=8 보다는 BETWEEN 12 AND 8)
  10. 수학연산제거 (성능향상 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