
1. VARCHAR(255)가 최대 아닌가? : 그냥 관례이다.
- VARCHAR(1000),10000도 가능하다.
- PostgreSQL의 VARCHAR(n)은 최대 약 1GB까지 가능하다.
- 극단적으로 보면 PostgreSQL에서 VARCHAR는 약 VARCHAR(1073741824)까지 가능하다. 약 10억자.
- 뉴스기사 제공 API문서에 최대 데이터 수를 CHECK
2. 요약의 TEXT는 적절한가?
- summary가 10자일수도, 500자일수도 있다.
- PostgreSQL에서 TEXT는 가변길이 그대로 저장된다.
- 따라서 VARCHAR로 지정하는것보다 TEXT가 좋다고 생각한다.
그럼 가변으로 저장되는거면, title과 original_link도 TEXT타입으로 저장하는게 좋은거 아니냐?
- 무결성때문에 VARCHAR로 저장하는게 좋다.
- ex) 제목은 길어봐야 2,300자 수준이다. 근데 제목이 1000자가 들어오면 비정상 데이터로 판단할 줄 알아야한다.
- 따라서 VARCHAR로 설정함으로써 DB레벨에서 막을 수 있어야한다.
*데이터 무결성: 데이터가 정확하고, 일관되고, 신뢰할 수 있는 상태를 유지하는것.
ex) emal: "abc" x / age: -5/ title: 1000짜리 문자열: 비정상 데이터
3. 조회수의 BIGINT는 적절한가?
- BIGINT는 9경정도까지의 숫자가 가능하다.
- 같은사용자가 여러번 조회해도 1회로 친다는 요구사항에 봤을때 BIGINT는 과하다.
- INT의 범위가 21억까지 이므로 INT만해도 충분하다.
- 결론: INT로 변경
'코드잇 스프린트 > 실습' 카테고리의 다른 글
| Docker 컨테이너 포트를 80으로 쓰면 안되는 이유 (0) | 2026.04.29 |
|---|---|
| 뉴스기사 조회수 증가 동시성 문제 트러블 슈팅 (0) | 2026.04.23 |
| FINDEX 프로젝트: Railway로 프로젝트 배포하기 (0) | 2026.03.17 |
| Findex 프로젝트: 지수정보 update가 이루어지지않는다 400에러 (0) | 2026.03.17 |
| Findex 프로젝트: 지수정보 목록 조회 Cursor기반 페이지네이션 적용 (0) | 2026.03.16 |