본문 바로가기

쿼리튜닝2

MySQL Update Subquery 성능 비교 (ver.5.6) 지난 포스팅으로 select ~ where in (서브쿼리)와 같은 서브쿼리가 MySQL 5.6 버전에서 대폭 최적화 되었음을 확인하였는데요. 이번에는 update (update ~ where in (서브쿼리)) 에서도 서브쿼리 최적화가 잘 작동하는지 확인해보겠습니다. 0. 테스트 환경 테스트 환경은 이전 select 테스트때와 같습니다. 메인 테이블 100만건 서브 테이블1 (인덱스 O) 1000건 서브 테이블2 (인덱스 X) 1000건 DDL 쿼리는 다음과 같습니다. 메인 테이블 -- 업데이트 대상 테이블 create table main_table ( id int not null auto_increment, target_id int not NULL, primary key (id) )ENGINE=Inn.. 2020. 9. 1.
패스트캠퍼스 SQL튜닝캠프 5일차 (1) - 고급 조인 테크닉 여러 상황에서 효율적으로 조인을 사용하는 방법을 알아보겠습니다.1. 누적매출 구하기아래와 같은 형태의 테이블이 있다고 가정하겠습니다.(출처 : 구루비)이 테이블의 데이터에 전체매출 데이터를 포함해서 조회하고 싶습니다.(이렇게 누적 매출이 추가되고 싶습니다.)오라클이라면 분석함수를 이용해서 해결할 수 있습니다.select 지점, 판매월, 매출, sum(매출) over(partition by 지점 order by 판매월 range between unbounded preceding and current row) 누적매출 from 월별지점매출partition by는 Group by에서 집합을 뺀 기능이라고 보시면 됩니다. 즉, 지점 단위로 잘라내기만 한 것입니다.unbounded preceding는 현재 윈도우.. 2017. 8. 30.