728x90
728x90
MySQL unsigned 의미 및 사용
MySQL에서 컬럼 생성 시 데이터형이 숫자로만 이뤄진 경우 int형을 많이 사용한다.
이때 unsigned라는 부분이 보여서 해당 내용에 대해서 한번 알아보았다.
1. unsigned 의미
int형의 범위는 음수를 포함하여 "-2147483648 ~ 2147483647"이다.
그러다 int형을 사용하는 경우 특별한 부분이 아니라면 음수를 거의 사용하지 않는다.
그렇다면 int형을 사용하면서 좀 더 큰 범위를 사용하고자 한다면 이때 unsigned를 설정하면 된다.
int형에 unsigned를 설정하게 되면 범위는 "0 ~ 4294967295"가 된다.
기본적인 int형의 범위에서 음수 값을 제외한 만큼 양수의 범위가 늘어나게 된 것이다.
728x90
2. unsigned 사용
unsigned의 경우는 특별히 음수를 사용할 이유가 없는 AUTO_INCREMENT 설정을 하는 ID 컬럼에 사용하는 것을 추천한다.
아니면 음수를 사용하는 부분이 없는 integer type이라면 unsigned 설정하여 사용하도록 하자.
# UNSIGNED 설정
CREATE TABLE `tb_test_list` (
`id` int(11) UNSIGNED NOT NULL AUTO_INCREMENT,
... 이하 생략 ...
728x90
3. 정리
MySQL을 사용 시 위와 같이 사용에 상황에 맞도록 설정하여 사용하는 게 리소스 낭비를 줄일 수 있는 방법이다.
간단한 프로그램 등이라면 큰 차이가 없을 수 있겠지만 계속적으로 축척하여 쌓아야 하는 데이터가 있다면 unsigned 설정 여부에 따라 Insert 할 수 있는 수가 2,147,483,648 나 차이가 나게 되는 것이다.
728x90
728x90
🌵댓글