MariaDB 실습(4)
-
[SQL 튜닝 실습] SQL 튜닝 중급 1
SQL 문 재작성으로 착한쿼리 만들기 처음부터 모든 데이터를 가져오는 나쁜 SQL 문 튜닝 전 SQL 문 select 사원.사원번호, 급여.평균연봉, 급여.최고연봉, 급여.최저연봉 from 사원, ( select 사원번호, round(avg(연봉),0) 평균연봉, round(max(연봉),0) 최고연봉, round(min(연봉),0) 최저연봉 from 급여 group by 사원번호 ) 급여 where 사원.사원번호 = 급여.사원번호 and 사원.사원번호 between 10001 and 10100; 튜닝 전 실행계획 튜닝 후 SQL 문 select 사원.사원번호, ( select round(avg(연봉), 0) from 급여 as 급여1 where 사원번호 = 사원.사원번호 ) as 평균연봉, ( sele..
2021.08.09 -
[SQL 튜닝 실습] SQL 튜닝 준비 5
DEPENDENT SUBQUERY UNION 또는 UNION ALL 을 사용하는 서브쿼리가 메인테이블에 영향을 받는 경우로, UNION 으로 연결된 단위 쿼리들 중에서 처음으로 작성한 단위쿼리에 해당되는 경우이다. UNION으로 연결되는 첫번째 단위쿼리가 독립적으로 수행하지 못하고 메인테이블로부터 값을 하나씩 공급받는 구조이므로 성능적으로 불리하여 SQL문이 튜닝대상이 된다. explain select 관리자.부서번호, ( select 사원1.이름 from 사원 as 사원1 where 성별 = 'F' and 사원1.사원번호 = 관리자.사원번호 union all select 사원2.이름 from 사원 as 사원2 where 성별 = 'M' and 사원2.사원번호 = 관리자.사원번호 ) as 이름 from ..
2021.08.09 -
[SQL 튜닝 실습] SQL 튜닝 준비 4
PRIMARY explain select 사원1.사원번호, 사원1.이름, 사원1.성 from 사원 as 사원1 where 사원1.사원번호 = 100001 union all select 사원2.사원번호, 사원2.이름, 사원2.성 from 사원 as 사원2 where 사원2.사원번호 = 100002; SUBQUERY 독립적으로 실행되는 서브쿼리로 SELECT절의 스칼라 서브쿼리와 WHERE 절의 중첩 서브쿼리일 경우에 해당 explain select ( select count(*) from 부서사원_매핑 as 매핑 ) as 카운트, ( select max(연봉) from 급여 ) as 급여; 2번과 3번의 id값의 서브쿼리는 각각 독립적으로 실행된다. DERIVED FROM 절에 작성된 서브쿼리로 FROM ..
2021.08.09 -
[SQL 튜닝 실습] SQL 튜닝 준비 1
실습환경 구성하기 마리아DB 설치 다운로드 기본구성 서비스 네임 마리아DB bin 경로로 이동 후 실행 cd C:\Program Files\MariaDB 10.5\bin mysql -uroot -p --port 3333 show databases; 데이터 세팅하기 실습파일 다운로드 다운로드 후 저장 폴더 C:\db_data\
2021.08.09