임시 테이블과 SELECT INTO 구문에 대한 간략한 설명
임시 테이블 생성 쿼리
SELECT
*
INTO
#TEMP_TABLE
FROM
TABLE;
위와 같은 sql 구문으로 임시 테이블을 생성할 수 있다.
SELECT INTO 구문이란?
테이블을 조회한 결과를 새로운 테이블에 넣는 구문이다.
테이블 이름 앞에 #이 붙는 이유 #TEMP_TABLE인 이유
위와 같이 #
을 붙여 #TEMP_TABLE
이라는 테이블을 생성하면, 이 테이블은 실제로 DB에 생성되는 것이 아니라 현재 세션에서만 접근 가능한 임시 테이블이 된다. 참고로, 세션이란 해당 DB에 로그인 된 상태 동안만 잠시간 갖는 저장 공간이라고 생각하면 된다. 이렇게 임시 테이블을 만들면 나중에 MERGE
하는 방식으로 데이터를 끼워 넣을 수 있다.
임시 테이블에서 사용하는 세션은 로그인되어 있는 동안만 유효하기 때문에 로그아웃 전까지 유지된다. 로그아웃 후 새로 로그인하면, 사용하던 임시테이블은 사라지게 된다.
추가 TIP: 전역 임시 테이블
전역 임시 테이블이란, 모든 세션에서 접근 가능한 임시 테이블로 ##TEMP_TABLE
과 같이 앞에 ##
을 붙여서 만들 수 있다.
임시 테이블 활용 방법
- MERGE 를 이용하여 데이터를 끼워 넣을 때
- DB 관련 작업으로 인해 잠시 동안 잦은 조회로 DB에 부하가 발생할 것 같을 때, 임시 테이블을 만들어 놓고 사용하면 DB에 부하를 줄일 수 있다.
'데이터베이스 > MSSQL' 카테고리의 다른 글
MSSQL 내장함수 STUFF 란? (0) | 2023.07.26 |
---|---|
SQL SERVER (MSSQL) 날짜와 날짜 사이 모든 날짜 구하기 (0) | 2022.06.21 |
MSSQL 에서 1~10000 까지의 숫자 반복하여 출력하기 (0) | 2022.06.01 |
MSSQL 실무 쿼리 튜닝법 (0) | 2022.06.01 |
SQL Server 에서 인덱싱을 제대로 타지 못하는 다양한 이유 (0) | 2022.06.01 |