본문으로 건너뛰기

테이블 - 스파스 열과 임시 테이블

스파스 열​

스파스 열

NULL 값에 대해 최적화된 저장소가 있는 일반 열

  • NULL 값이 많이 들어갈 것으로 예상되는 열이라면 스파스 열로 지정해 놓을 경우에
    많은 공간 절약 효과가 있다
  • 스파스 열로 지정할 때, 약 40%의 공간 절약이 되는 주요 데이터 형식의 NULL비율
데이터 형식NULL 비율
bit98%
smallint86%
int64%
bigint52%
float52%
datetime52%
date69%
datetime257%
varchar60%
char60%
nvarchar60%
nchar60%

구문 형식​

CREATE TABLE sparseCharTbl(
id int identity,
data char(100) SPARSE NULL
);

공간 비교결과​

sparse





임시 테이블​

임시 테이블

임시로 잠깐 동안 사용되는 테이블

  • 종류
    • #을 앞에 붙인 테이블은 로컬 임시 테이블
    • ##을 앞에 붙인 테이블은 전역 임시 테이블
  • 임시 테이블은 tempdb에 생성될 뿐 나머지 사용법 등은 일반 테이블과 동일하다

임시 테이블이 삭제되는 시점​

  1. 사용자가 DROP TABLE로 직접 삭제
  2. SQL Server가 재시작 되면 삭제
  3. 로컬 임시 테이블의 경우, 생성한 사용자의 연결이 끊기면 삭제
  4. 전역 임시 테이블의 경우, 생성한 사용자의 연결이 끊기고 이 테이블을 사용중인 사용자가 없을 때 삭제

테이블의 삭제​

구문 형식​

DROP TABLE 테이블이름
경고
  • 외래 키(FOREIGN KEY) 제약 조건의 기준 테이블은 삭제가 불가함
  • 먼저 외래 키가 생성된 외래 키 테이블을 삭제해야 함

테이블의 수정​

  • 열의 추가 - ADD

    ALTER TABLE 테이블이름
    ADD 열이름 데이터 형식
  • 열의 삭제 - DROP COLUMN

    ALTER TABLE 테이블이름
    DROP COLUMN 열이름
  • 열의 데이터 형식 변경 - ALTER COLUMN

    ALTER TABLE 테이블이름
    ALTER COLUMN 열이름 새로운_데이터형식
  • 열의 제약 조건 추가

    ALTER TABLE 테이블이름
    ADD CONSTRAINT 제약조건이름 제약조건
  • 열의 제약 조건 삭제

    ALTER TABLE 테이블이름
    DROP CONSTRAINT 제약조건이름