-
SQL 튜닝의 시작기타/내용 2023. 8. 8. 23:54
책이 오라클 기준인 듯
SQL의 의미를 파악하는 것이 성능문제를 유발하는 SQL에 대한 개선의 시작이다.
서브쿼리는 where절에서 비교조건으로 사용되는 Selet쿼리이다. join보다 작성이 쉬워서 많이들 작성한다.
서브쿼리가 여러 개 존재할 경우 옵티마이저가 최적화과정에서 잘못된 cost를 계산하는 경우가 많다.
무조건 사용하지 말라는 것은 아니다. 필요한 경우도 있다.
보통 사용패턴은 서브쿼리 먼저 수행 후 main SQL의 컬럼값과 비교하고나 Not exists 등으로 값이 있는지 체크하는 쿼리등인데 성능문제가 있을 수 있다.
무조건 나쁘기보단 사용의도에 맞게 수행되는지 확인하라.
서브쿼리의 동작방식은 2가지가 있음. 필터방식과 조인방식
필터방식은 mainSql의 매row마다 서브쿼리가 실행되는 것임. mainSql의 결과가 많고 서브쿼리의 인풋값이 많다면 매번 서브쿼리가 실행된 부하를 준다. 근데 input값이 매번 동일하다면 필터 옵티마이저가 최적화를 한다.
조인방식은 다양한 조인을 사용할 수 있다는 장점이있다.
'기타 > 내용' 카테고리의 다른 글
가상 면접 사례로 배우는 대규모 시스템 설계 기초 (0) 2023.10.05 파이브 라인스 오브 코드 (0) 2023.08.23 아파치 카프카 애플래케이션 프로그래밍 with 자바 (0) 2023.07.20 카프카, 데이터 플랫폼의 최강자 (0) 2023.06.30 실용주의 프로그래머 (0) 2023.06.20