문제

jpa 객체의 ids로 uuids를 사용하고 싶습니다.

나는 현재 UUID를 저장하기 위해 문자열을 사용하고 있습니다. 더 효율적인 것은 무엇입니까?

도움이 되었습니까?

해결책

효율성을 어떻게 측정하고 있습니까?

예를 들어 UUID를 저장합니다 (텍스트 인코딩입니다. byte[]) 두로 long 값은 64 비트 아키텍처에서 매우 빠르게 비교할 수 있습니다 ( String 비교, 문자 별 문자). 그러나 사용자 정의 유형을 작성해야하기 때문에 코딩 효율성이 어려워집니다.

귀하의 경우 중요한 것은 무엇입니까?


데이터베이스 내에서 성능에 관심이있는 경우, 성능은 선택한 데이터베이스에 다소 의존하지만 모든 것은 본질적으로 UUID를 바이트별로 비교합니다. 따라서 중요한 것은 열쇠의 시작에 더 큰 차이를 만들어내는 것입니다.

UUID는 이와 관련하여 잘 설계되었습니다. 최고의 UUID는 "무작위"스타일입니다. 그들은 시작을 포함하여 어느 곳에도 공통된 부분을 많이 가지고 있지 않으며, 그것을 생성 한 기계에 대한 정보를 누출하지 않습니다. 그러나 UUIDS의 "타임 스탬프"스타일은 좋은 열쇠를 만듭니다. 저차적 인 비트 (빠르게 변하는)는 가장 먼저 문자열이 있고, 연속적인 UUID를 위해 변하지 않는 고차 비트는 오는 것입니다. 나중에.

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