Database/MS-SQL
MSSQL - 테이블 변수와 임시 테이블 차이 간단 정리
luvris2
2023. 8. 22. 13:24
반응형
테이블 변수 | 임시 테이블 | |
선언 | DECLARE 키워드 사용, @를 이용한 변수의 형태의 이름을 가짐 |
CREATE TABLE 키워드 사용, #로 시작하는 테이블 이름을 가짐 |
데이터 저장 | 메모리 내에서만 저장 | 시스템 데이터베이스 TempDB에 저장 |
I/O 연산 | 메모리를 사용하기 때문에 빠름 | 주로 디스크를 사용하기 때문에 비교적 느림 |
사용 범위 | 선언된 루틴(프로시저, 함수) 내에서만 사용 | 사용 가능한 모든 세션에서 사용 |
생명 주기 | 정의된 함수 및 프로시저 및 일괄 처리가 끝나면 자동으로 정리 | 세션이 종료되거나 SQL Server가 종료될 때까지 유지, 혹은 명시적으로 삭제될 때까지 유지 |
사용 키워드 | SELECT, INSERT, UPDATE, DELETE문 사용 | SELECT, INSERT, UPDATE, DELETE, ALTER TABLE, CREATE INDEX문 사용 (+BULK INSERT) |
인덱스 및 통계 정보 | 인덱스나 통계 정보 생성하지 않음 | 인덱스와 통계 정보 생성함 즉, 최적화를 통한 쿼리 성능 개선 가능 |
사용 시점 | 비교적 적은 데이터셋을 처리할 때, 루틴 내에서 임시 데이터 저장이 필요할 때 |
대량의 데이터를 처리할 때, 세션 간 데이터 공유가 필요할 때 |
반응형