문제

비교적 큰 DB 테이블로 프로젝트를 진행하고 있습니다 (700k 행).

실수, DB 스키마를 설계하는 동안 저장했습니다. 행이 증가하면 ID의 열 유형 bigint를 늘려야했습니다 (엑스).

이제 그것은 bigint입니다 (44). 높은 x 값을 설정하는 것을 두려워합니다. 어쩌면 내가 틀렸다 ..

문제 해결을 도와주세요.

어떤 열 유형을 한 번 설정 하고이 문제를 잊을 수 있습니까?

DB 스키마 설계 분야에서 더 잘 배워야합니까?

도움이 되었습니까?

해결책

열을 만들 때 BIGINT(44) "44"는 디스플레이 너비입니다. 저장할 수있는 값의 범위 나 검색 속도에 영향을 미치지 않습니다.

자동 증가 ID의 경우 사용하려는 경우 UNSIGNED 숫자, 예를 들어 BIGINT(44) UNSIGNED. 이것은 값의 범위를 두 배로 늘리고 여분의 제약을 추가합니다. 이는 일반적으로 좋은 것입니다.

서명되지 않은 INT는 최대 4,294,967,295까지 서명되지 않은 Bigint가 최대 18,446,744,073,709,551,615까지 저장합니다.

최대 ID가 얼마나 빨리 증가하고 있는지 말하지 않습니다. 많은 행을 삽입하지 않으면 고집해야합니다. UNSIGNED INT 공간이 줄어 듭니다.

다른 팁

기본 키는 기본적으로 서명되지 않을 것이라고 생각합니다. 어쨌든 기본 키에 음수를 사용하는 것은 기껏해야 눈살을 찌푸리고 물건을 깨뜨립니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top