728x90
반응형
int와 bigint는 정수 값을 저장하기 위한 데이터 타입으로, 주로 데이터베이스나 프로그래밍 언어에서 사용됩니다.
이 두 데이터 타입의 주요 차이는 저장할 수 있는 값의 범위와 메모리 사용량에 있습니다.
1. int (Integer)
- 범위:
- Signed(기본): -2,147,483,648 ~ 2,147,483,647
- Unsigned(일부 DB 지원): 0 ~ 4,294,967,295
- 크기: 4 바이트 (32비트)
- 용도:
- 값이 비교적 작은 정수(수천만 단위까지)를 처리할 때 사용.
- 일반적으로 ID, 카운트, 상태 플래그 등 크기가 크지 않은 숫자 데이터에 적합.
2. bigint (Big Integer)
- 범위:
- Signed: -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
- Unsigned(일부 DB 지원): 0 ~ 18,446,744,073,709,551,615
- 크기: 8 바이트 (64비트)
- 용도:
- 매우 큰 정수를 다룰 때 사용 (예: 빅데이터, 대형 금융 시스템, 초대형 ID).
- 값이 32비트 범위를 초과할 가능성이 있는 데이터(대형 데이터셋의 기본 키 등) 처리.
주요 차이점 비교
특성 | int | bigint |
범위 | 약 ±21억 | 약 ±9경 |
크기 | 4 바이트 | 8 바이트 |
성능 | 더 빠르고 메모리 효율적 | 더 느리고 메모리 소비가 큼 |
사용 사례 | 작은 정수 값 | 큰 정수 값 |
3. 선택 기준
- int를 선택할 때:
- 데이터가 21억을 초과하지 않는다면 int를 사용.
- 저장 공간과 성능 최적화가 필요할 경우 적합.
- bigint를 선택할 때:
- 값이 21억을 초과할 가능성이 있다면 반드시 bigint를 사용.
- 초대형 데이터베이스나 고유 키(ID)가 빠르게 증가하는 시스템에서 유용.
예제 (SQL Server 기준)
int 예제
CREATE TABLE SmallTable ( ID INT PRIMARY KEY, Value INT );
- 32비트 정수 값으로 충분한 경우.
bigint 예제
CREATE TABLE LargeTable ( ID BIGINT PRIMARY KEY, LargeValue BIGINT );
- 32비트 범위를 초과할 가능성이 있는 경우.
4. 주의사항
- 빅데이터 처리: 데이터가 클수록 메모리 사용량과 처리 시간이 증가하므로 bigint는 필요한 경우에만 사용.
- 데이터 타입 변환: int에서 bigint로 변환하면 크기가 커지고, 반대 변환 시 값 손실 가능.
요약
- int: 일반적인 경우 사용
- bigint: 매우 큰 숫자를 처리해야 할 때 사용
728x90
반응형
'IT > DB' 카테고리의 다른 글
데이터베이스 쿼리 left join, (+) 표기하는 방식 차이 (0) | 2025.01.08 |
---|---|
기존 데이터 백업 insert 쿼리 만드는 방법 (1) | 2024.12.07 |
데이터 삭제 delete와 truncate 차이는? (0) | 2024.12.07 |
left join 과 left outer join 차이는? (2) | 2024.12.05 |
MySQL SQL 오류코드 Error Code: 1046. No database selected Select the default DB to be used by double-clicking its name in the SCHEMAS list in the sidebar (1) | 2024.12.05 |