데이터베이스에서 int 타입별로 특징이 다르다.
tinyint < smallint < int < bigint
tinyint
크기 : 0 ~ 255
비고 : 0을 시작으로 2^8(=2의 8승=256) 번째까지 정수
용량 : 1바이트
smallint
크기 : -32,768 ~ 32,767
비고 : -2^15 ~ (2^15 - 1) 사이의 정수. 2의 15승에서 1을 빼는 이유는 0의 자리가 포함되기 때문입니다. 나머지들도 모두 마찬가지입니다.
용량 : 2바이트
int
크기 : -2,147,483,648 ~ 2,147,483,647
비고 : -2^31 ~ (2^31 - 1) 사이의 정수. 역시 0의 자리를 위해 양수에서 -1 해줍니다.
용량 : 4바이트
bigint
크기 : -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,8087
비고 : -2^63 ~ (2^63 - 1) 사이의 정수. 0의 자리를 확보하기 위해 역시 뒤에서 -1 해줍니다.
용량 : 8바이트
테이블을 생성할 때 id 타입에 관해 고민을 하곤 한다. id 값이 43억이 넘어가는 아주 큰 DB(대용량 데이터 관련)를 사용한다면 bigint 타입을 선택해야 하지만, 그렇지 않다면 주로 int 타입을 사용한다.
'MySQL' 카테고리의 다른 글
51회 SQLD 4일 벼락치기 합격 후기 (2) | 2024.06.03 |
---|---|
[MySQL] DECIMAL, FLOAT, DOUBLE, BIT 소수점 표현 (0) | 2024.02.10 |
[MySQL] AUTO INCREMENT vs UUID (0) | 2024.02.10 |
[MySQL] DATE, DATETIME, TIMESTAMP, TIME 차이 (0) | 2024.02.10 |