엔티티의 기본 키에 대한 자동 증가 값보다 UUID를 선택해야하는 이유는 무엇입니까? 장단점은 무엇입니까?기본 키에 대한 UUID 대 자동 증가 숫자
14
A
답변
4
독자적으로 생성 할 수있는 주요 프로입니다. 사기는 그것이 더 크다는 것입니다.
8
UUID는 전역 적으로 고유하며 클러스터 된 DB 서버 간의 통신없이 병렬로 생성 될 수 있습니다. 그래서 "Object IDs are more synergistic with sharding and distribution.". UUID는 일반적으로 128 비트로 저장됩니다.
자동 증가 정수는 사용자 친화적이며 (어쨌든 더 짧고 기억하기 쉽습니다) 자동으로 삽입 주문별로 정렬 할 수 있습니다. 정수는 일반적으로 32 비트 또는 64 비트로 저장됩니다.
10
Andrey과 Mjg 모두 좋은 점이 있었지만 중요한 관련 성능 문제를 추가했습니다.
데이터베이스와 키 생성을 분리하면 개체 간의 복잡한 관계가있는 응용 프로그램에서 대량 삽입이 가능하도록 모든 키를 만들 수 있습니다.
자동 증가의 경우 관계를 소유하는 모든 객체 (즉, 외래 키가있는 테이블)는 관계의 다른 쪽 (예 : 외래 키의 출처)을 기다려야 만 저장됩니다. 할당 된 ID를 쿼리 한 다음 레코드 이전 레코드를 개별적으로 업데이트합니다.
관련 문제
- 1. oracle에 기본 키에 대한 자동 증가 기능이없는 이유는 무엇입니까?
- 2. 기본 키에 여러 필드가있는 테이블에 행 삽입 (마지막으로 자동 증가)
- 3. 자동 증가 기본 키에 SQL java get 값이 할당되었습니다.
- 4. UUID 기본 키가있는 ActiveRecord 마이그레이션
- 5. 자동 증가 기본 키는 언제 사용합니까?
- 6. CodeFirst의 기본 키에 대한 AutoIncrement 작성
- 7. PHP foreach 루프의 자동 증가 숫자
- 8. Hibernate/JPA SQLServer 기본 키 자동 증가
- 9. MySQL : 자동 증가 기본 키의 순서 변경?
- 10. 기본 레일이 아닌 자동 증가 : id 필드
- 11. SQL Server 데이터베이스의 기본 키 자동 증가
- 12. SQL Server에서 자동 증가 기본 키의 상한
- 13. 레일의 기본 키 열에 자동 증가 추가
- 14. 문자열의 증가 숫자 값
- 15. 문자열의 증가 숫자
- 16. MySQL에서 자동 증가
- 17. 테이블의 기본 키에 대한 명명 규칙
- 18. 복합 기본 키에 대한 ORM 지원
- 19. 기본 키에 대한 일반 SQL 질문
- 20. mysql에서 다중 자동 증가
- 21. 자동 증가 문제
- 22. 자동 증가/다른 DB를
- 23. MYSQL의 자동 증가 간격을 수정해야하는시기
- 24. 버전 번호 형식의 기본 키에 대한 SQL 데이터 형식
- 25. MySQL은 - 단 자동 증가 열
- 26. SQLite는 자동 증가 정규식
- 27. 다음 자동 증가 걸림
- 28. 자동 증가 고유 식별자
- 29. MySQL 자동 증가 문제
- 30. 정규식에서 변수 자동 증가
또 다른 참고 사항으로, 응용 프로그램에서 UUID 버전 2를 사용하기를 원합니다. 정확한 시간 (마이크로 초)과이를 작성하는 시스템의 MAC 주소가 통합되어 있습니다. –