본문 바로가기

데이터 베이스

[MySQL] 컬럼 생성시 unsigned을 사용하는 의미

728x90

테이블에서 컬럼을 생성할 때 unsigned 를 선언할 때가 있다.

unsigned 는 해당 컬럼에서 '음수' 를 사용하지 않겠다는 의미이다.

 

예를 들어 int 형 범위는  - 2147483648  ~  2147483647  인데

음수를 사용하지 않으면 절반은 낭비가 된다.

 

만약 쓸모없는 음수 범위를 버리고 양수로 사용한다면

사용 가능한 int 형 범위가  0  ~  4294967295  로 넓어진다.

 

따라서 음수를 사용하지 않는 컬럼을 생성할 때 unsinged 선언을 해서

더 효율적인 구조를 만들 수 있다.

 

 

CREATE TABLE test (
	id INT(11) UNSIGNED NOT NULL,
    ...
    ...
)