데이터베이스의 데이터프레임을 "테이블"이라고 합니다. 테이블의 데이터를 업데이트 하는 경우, 기본적으로 해당 테이블은 잠겨있게 됩니다. 이러한 상태를 Lock이라고 하는데요. Lock이 걸리는 이유는 MSSQL의 기본 격리수준이 Read Committed 이기 때문입니다. 즉, 완전히 commit이 된 데이터만 읽으라는 뜻입니다. 따라서, lock이 걸려있는 동안 테이블 조회(select)를 진행하게 되면, select 작업이 후순위로 밀리고 db의 성능이 떨어질 수 있습니다. 특히, "데드락(dead lock)"이라고해서 아예 lock이 풀려버릴 수도 있습니다. 데드락은 락이 풀리는것이 아니라 교착상태로 서로의 락이 풀리길 무한정 기다리면서, 오히려 락이 계속 풀리지 못하는 상태입니다. (흠님 댓글 감..
distinct를 사용할 경우 반드시, 윈도우 함수 적용전에 사용해야 한다. 윈도우 함수는 distinct 처리가 되지 않는다. 조만간, 사례를 첨부하여 다시 자세하게 적을 예정.
소개 gibles-deepmind.tistory.com/5 1. 저장소 위치 github.com/GiblesDeepMind/deepsql GiblesDeepMind/deepsql Contribute to GiblesDeepMind/deepsql development by creating an account on GitHub. github.com 본 프로젝트에 사용하는 간단한.. gibles-deepmind.tistory.com SQL 관련 포스팅 링크를 모아둔 아카이브 페이지가 있습니다. 글의 목표 동적 SQL에 대해서 다루어볼려고 합니다. 1. 샘플 테이블 구성 2. SET 변수 지정 3. SELECT 변수 지정 1. 샘플 테이블 구성 MSSQL에는 AdventureWorks라는 유명한 샘플데이터베이스..