임시 테이블 사용방법에 대해 포스팅합니다.
임시 테이블 (TEMP TABLE) 이란?
임시로 존재하는 테이블입니다.
PK, INDEX 등 기본 테이블과 똑같이 다루면 됩니다.
tempdb에 임시적으로 만들어졌다가 사라지는 테이블로써 복잡한 쿼리의 성능을 개선하기 위해 많이 사용됩니다.
해당 테이블을 공유하는 영역에 따라 지역 임시 테이블과 전역 임시 테이블 두 가지로 나눌 수 있습니다.
지역 임시 테이블
현재 세션에서만 사용할 수 있는 임시 테이블입니다.
해당 테이블이 생성되는 세션이 끝나면 자동으로 삭제됩니다.
(자동으로 종료되지만 필자는 항상 DROP TABLE을 해준다.)
테이블명에 '#'을 붙여서 생성합니다.
CREATE TABLE #MY_TEMP_TABLE (
IDX INT
, ANY_COLUMN VARCHAR(100)
...
)
💡세션이란? 데이터베이스와 연결되어 있는 기간을 의미합니다.
연결되면 세션이 맺어지고 연결을 끊으면 세션은 종료됩니다.
전역 임시 테이블
모든 세션에서 사용할 수 있는 임시 테이블입니다.
해당 테이블을 참조하고 있는 모든 작업(세션)이 종료되면 자동으로 삭제됩니다.
테이블명에 '##'을 붙여서 생성합니다.
CREATE TABLE ##MY_TEMP_TABLE (
IDX INT
, ANY_COLUMN VARCHAR(100)
...
)