Study Note/SQL

    SQL Window Function: Window Frame의 이해

    보호되어 있는 글입니다.

    APPLY 연산자란?

    APPLY는 왼쪽 테이블(Outer Table)의 각 행에 대해 오른쪽의 테이블 반환 함수(Table-Valued Function)나 서브쿼리를 실행하여 그 결과를 결합합니다.쉽게 생각하기: JOIN이 두 테이블을 수평으로 이어 붙이는 느낌이라면, APPLY는 왼쪽 테이블의 데이터를 하나씩 꺼내서 오른쪽 로직에 '입력값'으로 전달하는 느낌입니다.CROSS APPLY vs OUTER APPLY (JOIN과 비교)JOIN과의 매칭 및 데이터가 없을 때의 동작 방식구분매칭되는 JOIN매칭되는 데이터가 없을 떄 (NULL)특징CROSS APPLYINNER JOIN행을 제외함결과값이 있는 행만 출력OUTER APPLYLEFT OUTER JOINNULL로 표시하여 유지결과가 없어도 왼쪽행은 보존 실습 예시: 환..

    SQL 인덱스 가이드: "내 쿼리는 왜 느릴까?"

    의료 데이터는 보통 수백만 건의 처방, 검사 결과가 쌓이는 시계열 데이터입니다. 인덱스 없이 쿼리를 날리는 것은 마치 수만 권의 의학 서적이 무질서하게 쌓인 도서관에서 특정 환자의 기록을 한 장씩 넘기며 찾는 것과 같습니다.오늘은 성능 최적화의 핵심인 인덱스의 3가지 개념을 완벽히 정리해 보겠습니다. 1. Clustered Index: "책장을 정리하는 기준"Clustered Index는 테이블 자체를 특정 순서로 물리적으로 재배열하는 것입니다.비유: 환자 차트를 '환자 번호(ID) 순'으로 정렬해서 캐비닛에 꽂아두는 것과 같습니다.특징:테이블당 단 하나만 만들 수 있습니다. (책을 꽂는 방식은 하나뿐이니까요!)데이터 자체가 인덱스 순서로 정렬되어 저장됩니다.왜 빠를까? id = 1인 데이터를 찾을 때,..