Integer 데이터 유형별 차이점 알아보기
MySQL에서는 다양한 Integer 데이터 유형을 제공하고 있으며, "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "BIGINT"로 나눠져 있다.
각각의 데이터 유형은 저장할 수 있는 값의 범위와 용량 등이 다르기 때문에, 적절한 데이터 유형을 선택하는 것은 데이터베이스 설계에서 중요한 역할을 한다.
이번에는 각 Integer 데이터 유형의 특징과 사용 범위를 자세히 알아보고, 어떤 경우에 어떤 데이터 유형을 선택해야 하는지에 대해서도 알아보도록 하자.
1. Signed, Unsigned 속성
Integer 데이터 유형을 설명을 하려면 반드시 Signed, Unsigned 속성에 대해서 이해를 해야 한다.
간단히 이야기하면 Unsigned 속성을 설정하면 음수를 저장하지 않고 양수만 저장할 수 있어서 선택한 Integer 데이터 유형의 범위가 두 배가 된다.
관련해서 자세한 내용은 아래 링크를 통해서 작성해 놓았으니, 꼭 보고 이해하도록 하자.
2. Integer 데이터 유형
2.1 TINYINT
- 가장 작은 크기의 Integer 데이터 유형
- Byte : 1 Byte
- 범위 :
- Signed : -128 ~ 127
- Unsigned : 0 ~ 255
- 사용 사례 : 부호 있는 작은 Integer 값이 필요한 경우, 예를 들어 성별 혹은 On/Off를 나타내는 컬럼 등
2.2 SMALLINT
- TINYINT보다 큰 범위의 Integer 데이터 유형
- Byte : 2 Byte
- 범위 :
- Signed : -32,768 ~ 32,767
- Unsigned : 0 ~ 65,535
- 사용 사례 : 더 큰 범위의 부호 있는 작은 Integer 값이 필요한 경우, 예를 들어 Network Port를 나타내는 컬럼 등
2.3 MEDIUMINT
- SMALLINT와 INT사이의 크기를 가지는 Integer 데이터 유형
- Byte : 3 Byte
- 범위 :
- Signed : -8,388,608 ~ 8,388,607
- Unsigned : 0 ~ 16,777,215
- 사용 사례 : 정수 값이 INT보다 작지만 SMALLINT보다 큰 경우, 예를 들어 사용자 UUID 컬럼 등
2.4 INT
- 보통의 Integer를 저장하는 데 사용되고 가장 일반적인 데이터 유형
- Byte : 4 Byte
- 범위 :
- Signed : -21억 ~ 21억
- Unsigned : 0 ~ 42억
- 사용 사례 : 대다수의 Integer 값을 저장할 때 사용
2.5 BIGINT
- 매누 큰 Integer 값을 저장하는 데 사용되는 데이터 유형
- Byte : 8 Byte
- 범위 :
- Signed : -922경 ~ 922경
- Unsigned : 0 ~ 1844경
- 사용 사례 : 매우 큰 범위의 Integer값을 저장해야 하는 경우, 예를 들어 금액이나, ID 컬럼 등
3. 정리
Integer 데이터 유형에 이렇게 각각의 사이즈에 따른 데이터 유형이 존재한다.
각각의 Integer 데이터 유형은 저장할 수 있는 값의 범위와 용량이 다르기 때문에, 올바른 데이터 유형을 선택하는 것은 데이터베이스 용량 및 성능에 큰 영향을 미친다.
예를 들어 0과 1만 사용하는 컬럼에 INT 혹은 BIGINT를 사용한다면 데이터베이스에 불필요한 용량이 소비될 수 있다.
이런 경우에는 가능하면 TINYINT를 사용하는 게 효율적이다.
따라서 각 유형의 범위를 고려하여 데이터베이스 설계를 진행함으로써 불필요한 용량 사용을 줄이고, 데이터베이스의 성능을 향상시킬 수 있으니 잘 선택하여 사용하도록 하자.
🌵댓글