Mysql int key 초기값 질문 0 1 2,764

by 키한 [MySQL] 키값 초기값 [2023.11.23 15:14:34]


안녕하세요, 프로젝트를 인수인계 받아 데이터베이스를 열람하다 궁금한점이 생겨서 질문드립니다.

테이블 키값이 int, increment 1인 것까지 이해했는데
초기값이 굉장히 큰 값(100만 이상)으로 설정되어있었습니다.

지금까지 postgresql을 사용해서 해온 작업이 내부 테이블끼리만 연산하는 정도라
저는 초기값을 1로 설정해두는 편이었습니다.
외부에 노출되는 값도 session key의 value값이라 큰 문제가 없다고 생각했습니다.

전해듣기로는 자릿수를 맞추기 위해서 그랬다는데
현업에서 이런 케이스가 있는지, 그리고
초기값을 1로 설정하는 것과 비교해서 어떤 이득이 있는지 궁금합니다.

감사합니다!
 

by 아발란체 [2023.11.27 13:40:28]

INT 키 값 저장 영역을 2배 확보하기 위해 보통 UNSIGNED 옵션을 기술하는데 

반대로 키 자릿수를 위해 일부로 1억부터 시작하는 경우는 일반적이지 않습니다.

키 값이 1이면 조회 완료 후 자릿수에 해당하는 만큼 000000001으로 채워 쓰는 것이 일반적입니다.

MySQL(MariaDB) 경우 AUTO INCREMENT 옵션으로 자동 채번할 때

현 채번 카운트가 9999123 일 때 DDL를 보면 스크립트 해당 값(AUTO_INCREMENT=9999123 DEFAULT CHARSET=utf8mb3)이 9999123으로 보입니다.

혹 이 경우를 보신 것이라면 이건 초기 값 아닙니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입