본문 바로가기

SQLD11

2과목 개념 (윈도우 함수 ~ 프로시저 & 트리거) 윈도우 함수 ex 1) 윈도우 함수() over (Partition by 컬럼 order by 컬럼 asc or desc) Rows between A And B ex 2) 윈도우 함수() over (Partition by 컬럼 order by 컬럼 asc or desc) RANGE between A And B 순위, 집계 필수! 행분할(Group by 유사) 어떤 항목을 기준으로 순위 정할지 default) RANGE between UpBounded Preceding And Current Row : 현재 컬럼의 값 기준, 연산에 참여할 행 선택 UpBounded Preceding : 최종 출력될 값의 맨 처음 row 값 Current row : 현재 row 값 UpBounded Following : 최종.. 2023. 8. 26.
SQL 최적화 기본 원리 1. 옵티마이저: SQL문에 대한 최적의 실행방법을 결정하여 실행 계획 도출, SQL문에 대한 파싱 후 실행됨 ※ SQL문 실행 순서 파싱(Parsing): SQL 문법 검사 및 구문 분석 작업 실행(Execution): 옵티마이저의 실행 계획에 따라 인출(Fetch): 데이터를 읽어 전송 ※ 옵티마이저 엔진 질의 변환기(Query Transformer): 작성된 SQL문을 처리하기 용이한 형태로 변환하는 모듈 비용 예측기(Estimator): 생성된 계획의 비용을 예측하는 모듈 대안계획 생성기(Plan Generator): 동일한 결과를 생성하는 다양한 대안 계획을 생성하는 모듈, 1) 연산 적용 순서 2) 연산 방법 3) 조인 순서의 변경을 통해 대안 계획 생성 종류 규칙기반 옵티마이저: 우선순위 규.. 2023. 8. 26.
2과목 개념 (윈도우 함수 ~ 프로시저 & 트리거) 윈도우 함수() OVER PARTITION BY 컬럼 ORDER BY 컬럼 ASC or DESC (Rows BETWEEN A AND B) or 윈도우 함수() OVER (PARTITION BY 컬럼) ORDER BY 컬럼 ASC or DESC (RANGE BETWEEN A AND B) 행 분할 윈도우 함수: 순위, 집계, 행순서, 비율(함수) OVER: 필수! OVER 내부에 파티션 & ORDER BY 들어감. PARTITION BY(행 수 안 바뀜) ≒ GROUP BY(행 수 줄어듬) : 전체 집합을 어떤 컬럼에 따라 나눌지 ORDER BY 컬럼: 어떤 컬럼을 기준으로 순위를 정할지... Rows BETWEEN A AND B: 대상 행 지정 DEFAULT 세팅: RANGE BETWEEN UPBOUNDE.. 2023. 8. 6.
2과목 개념 (계층형 질의 ~ GROUPING 함수) 계층형 질의 : 테이블에 계층형 데이터가 존재하는 경우 데이터를 조회하기 위해 사용 (ORACLE만 계층형 쿼리 지원.) SQL SERVER → CTE(Common Table Expression) 재귀 호출 START WITH : 계층 구조 전개의 시작 위치 지정 CONNECT BY : 다음에 전개될 자식 데이터 지정 PRIOR : CONNECT BY 절에 사용되며, 현재 읽은 칼럼을 지정한다. PRIOR 자식 = 부모 형태를 사용하면 계층구조에서 부모 데이터에서 자식 데이터(부모->자식) 방향으로 전개하는 순방향 전개를 한다. 반대는 역방향 전개 SELECT절, WHERE절 가능. ex) PRIOR 부서번호 = 상위 부서번호(순방향) NOCYCLE : 동일한 데이터가 전개되지 않음 ORDER SIBLI.. 2023. 8. 6.