일단 씻고 나가자
25.01.18 본문
2025. 01. 18 금요일
- [DB] 트랜잭션 데드락의 해결 방법?
: (예방) 우선순위 부여, 타임아웃 설정
(탐지) wait-for-graph 탐색으로 cycle 발견 시 데드락으로 간주
(회복) 트랜잭션 강제 종료 및 재시작
- [DB] MySQL에서 윈도우 함수란? group by와 차이점?
: 윈도우 함수란 행과 행과의 관계를 정의하기 위해 제공되는 함수이며,
윈도우 전용 함수 혹은 집계 함수 (aggregate function)과 함께 사용할 수 있다.
over() 문법 및 partition 문법으로 사용한다.
group by의 경우 (혹은 group by 없이 단순 집계 함수만 SELECT 하는 경우) 레코드의 세부 사항은 모두 지워진 후의 데이터 결괏값만 출력된다.
하지만 윈도우 함수의 경우 모든 행과 해당 결과와의 관계를 짓기 위해 모든 행에 결괏값이 추가된 테이블로 보여준다.
[집계 or 윈도우 함수() OVER(PARTITION BY .. ORDER BY ..)] 와 같이 사용하며,
partition은 group by와 유사하게 특정 속성별로 묶을 수 있고, 묶을 속성 이름을 명시한다.