티스토리 뷰

국비학원에서 첫 쿼리문을 시작했을 때 pk값을 bigint로 배웠어서 이번에도 무심코 bigint를 쓰려고 했다.

그런데 갑자기 bigint가 무엇인지 정확하게 알지 못해서 찾아보니 pk id를 왜 bigint로 코딩하였는지 질의응답을 받았다는 글을 보았다.

 

int와 bigint는 숫자 자료형을 db에 저장한다는 의미를 가지고 있다.

둘의 차이는 byte의 차이인데 int는 4, bigint 8을 메모리에 각각 할당하고 있다.

그 글의 내용에 따르면, id값이 43억이 넘어가는 아주 큰 db에 저장해야 한다면 고민없이 bigint형을 사용해야 한다고 한다.

그런 특수한 경우가 아니고서는 bigint를 쓸지 int를 쓸지 잘 고민해야 한다는 것이다.

 

 

 

어떤 경우에 사용해야 할까

 

- 저장할 데이터가 크지 않다면 int를 사용하는 것이 좋다.

- 아주 큰 숫자를 다루거나, 미래에 그 값이 엄청나게 커질 가능성이 있는 경우 bigint를 사용하는 것이 좋다.

 

 

 

정리

  int bigint
메모리 저장 공간 4바이트 8바이트
주의점 int는 4바이트, bigint는 8바이트를 사용하므로, bigint가 더 많은 저장 공간을 차지한다.
따라서, 필요 이상의 큰 값을 사용할 경우 메모리 낭비가 발생할 수 있다.
선택 저장할 데이터가 int 범위 내에 있다면, 메모리 절약을 위해 int를 선택하는 것이 좋다.
예) 사용자 ID나 대부분의 카운터들은 int로 충분하다.
아주 큰 숫자를 다뤄야 하거나, 미래에 그 값이 엄청나게 커질 가능성이 있는 경우 bigint 를 선택하는 것이 좋다.
예) 거대한 사용자 베이스를 가진 대규모 시스템에서는 사용자 ID를 bigint 로 설정할 수 있다.

 

 

[면접] id를 왜..bigint..?

면접 질문이 정확하게 기억이 나지 않지만 왜 bigint로 했냐는 질문을 받았다.그 질문을 받고 당황스러웠던 포인트는 내가 진짜 아무 생각이 코드를 짜고 개발하고 있었구나 였다.그냥 Spring Boot에

velog.io

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함