MSSQL, nvarchar(max) 사용하는 이유

마이크로소프트 SQL Server에서 nvarchar는 가변 길이의 유니코드 문자열 데이터를 저장할 수 있는 데이터 형식입니다. 예를 들어, 테이블을 생성할 때 특정 컬럼에 문자열 수 제한을 255로 두고 싶으면 nvarchar(255)처럼 설정합니다.

 

반면 최대 문자열 수를 제한하지 않고 nvarchar(max) 형태로 사용하면 저장될 수 있는 최대 유니코드 문자열의 크기가 2GB까지 허용됩니다. 

 

이처럼 nvarchar(max)는 큰 문자열 데이터를 저장해야 하는 경우에 사용됩니다.

 

예시)

웹 사이트에서 게시물을 저장하는 Posts 테이블을 생성한다고 가정할 때 글 본문 컬럼을 max로 지정할 수 있습니다.

CREATE TABLE Posts (
    id INT PRIMARY KEY IDENTITY(1,1),
    title NVARCHAR(255) NOT NULL,
    content NVARCHAR(MAX),
    author NVARCHAR(255),
    created_at DATETIME NOT NULL
);

 

nvarchar

 

다만 nvarchar(max)를 사용하면 저장 공간이 매우 높아질 수 있고, 저장된 큰 문자열을 처리하는 경우 데이터베이스 성능이 저하될 수도 있습니다. 또 nvarchar(max) 컬럼은 인덱스 키로 사용할 수 없습니다.

반응형

댓글

Designed by JB FACTORY