[primary-key] UUID 최대 문자 길이

오라클 DB에 대한 기본 키로 UUID를 사용하고 있으며 VARCHAR에 대한 적절한 최대 문자 길이를 결정하려고합니다. 분명히 이것은 36 자이지만 이보다 긴 UUID (최대 60 자)가 생성 된 것을 발견했습니다. 누구든지 UUID에 적합한 최대 문자 길이를 알고 있습니까 ??



답변

RFC4122의 섹션 3은 UUID 문자열 표현의 공식적인 정의를 제공합니다. 36 자 (16 진수 32 자리 + 대시 4 개)입니다.

유효하지 않은 60 자 ID가 어디에서 오는지 알아 내고 1) 수락할지 여부 및 2) 해당 ID의 최대 길이를 생성하는 데 사용되는 API에 따라 결정해야하는 것처럼 들립니다.


답변

이것은 각 값이 정확히 동일한 길이를 갖기 때문에 VARCHAR 36이 아니라 CHAR 36으로 정의하기에 완벽한 종류의 필드입니다. 그리고 각 값에 대한 데이터 길이를 저장할 필요가없고 값만 저장할 필요가 있기 때문에 저장 공간을 덜 사용하게됩니다.


답변

요즘 대부분의 데이터베이스에는 작업을 더 쉽게하기 위해 기본 UUID 유형이 있습니다. 그렇지 않은 경우 128 비트 숫자이므로 BINARY (16)를 사용할 수 있으며 텍스트 형식이 자주 필요한 경우 (예 : 문제 해결) 계산 된 열을 추가하여 이진 열에서 자동으로 생성합니다. . (훨씬 더 큰) 텍스트 양식을 저장할 이유가 없습니다.


답변