Integer 데이터 유형별 차이점 알아보기
MySQL에서는 다양한 Integer 데이터 유형을 제공하고 있으며, "TINYINT", "SMALLINT", "MEDIUMINT", "INT", "BIGINT"로 나눠져 있다.
각각의 데이터 유형은 저장할 수 있는 값의 범위와 용량 등이 다르기 때문에, 적절한 데이터 유형을 선택하는 것은 데이터베이스 설계에서 중요한 역할을 한다.
이번에는 각 Integer 데이터 유형의 특징과 사용 범위를 자세히 알아보고, 어떤 경우에 어떤 데이터 유형을 선택해야 하는지에 대해서도 알아보도록 하자.
![[MySQL] Integer 데이터 유형별 차이점 알아보기](https://blog.kakaocdn.net/dna/lJPZu/btsHgazO2Dd/AAAAAAAAAAAAAAAAAAAAAHi7y3fdN6iGC8_fsH2x0QcLyKmS3WixiigbmGIA2noW/img.webp?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1777561199&allow_ip=&allow_referer=&signature=arRrp7J%2Bc8%2F9ka0Ko1Yijxaj3CQ%3D)
1. Signed, Unsigned 속성
Integer 데이터 유형을 설명을 하려면 반드시 Signed, Unsigned 속성에 대해서 이해를 해야 한다.
간단히 이야기하면 Unsigned 속성을 설정하면 음수를 저장하지 않고 양수만 저장할 수 있어서 선택한 Integer 데이터 유형의 범위가 두 배가 된다.
관련해서 자세한 내용은 아래 링크를 통해서 작성해 놓았으니, 꼭 보고 이해하도록 하자.
[MySQL] unsigned 의미 및 사용
MySQL unsigned 의미 및 사용 MySQL에서 컬럼 생성 시 데이터형이 숫자로만 이뤄진 경우 int형을 많이 사용한다. 이때 unsigned라는 부분이 보여서 해당 내용에 대해서 한번 알아보았다. 1. unsigned 의미 int
happylie.tistory.com
2. Integer 데이터 유형
![[MySQL] Integer 데이터 유형별 차이점 알아보기](https://blog.kakaocdn.net/dna/beMIoo/btsHdwcNsir/AAAAAAAAAAAAAAAAAAAAAIgJ3-c0Y6S63rIQJl7kYDkAXJI9d8Oxc7_13n77Q6uh/img.webp?credential=yqXZFxpELC7KVnFOS48ylbz2pIh7yKj8&expires=1777561199&allow_ip=&allow_referer=&signature=lshwWha92RvaJBpCQocFgfjiqT4%3D)
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를 사용하는 게 효율적이다.
따라서 각 유형의 범위를 고려하여 데이터베이스 설계를 진행함으로써 불필요한 용량 사용을 줄이고, 데이터베이스의 성능을 향상시킬 수 있으니 잘 선택하여 사용하도록 하자.
🌵댓글