차량을 저장하는 테이블이있는 데이터베이스를 설계하고 있으며 차량 식별 번호가 173 자의 영숫자 일련 번호이므로 내 아이디어는 데이터 유형이 char(17)
인 기본 키로 사용하는 것입니다.SQL Server가있는 테이블에 VIN 번호를 저장하는 데 기본 키로 char (17)을 사용하면 성능에 어떤 영향을 줍니까?
수많은 다른 테이블은 VIN을 외래 키로 갖습니다.
VIN 번호를 매개 변수로 사용하여 많은 수의 검색어/검색어가 차량과 그와 관련된 다른 데이터를 추적하는 방식이므로 여러 가지 검색어/검색어가 실행됩니다. 그것을 사용하는 일부 쿼리 조인 및 기타되지 이후 (내가 잘 모르는 것 같아요 또는 기타 합병증) 심각한 성능 저하를 야기하는 경우
차량 등록 번호가 변경되지 않습니다,하지만 확실 해요 :/
VIN을 기본 키로 사용하면 고유 제한/추가 인덱스를 생성 할 필요가 없습니다. 그러나 char(17)
int
이외의 기본 키가 기본 키가 가정용으로 최적화되어 있어야합니다.
또한 200 % 확신 할 수없는 것은 모든 VIN 번호가 동일한 길이 (거의 없음)이지만 그 경우에는 varchar(17)
을 사용하면 어떻게 whol에 영향을 미칠 것입니까? e 상황 ... 전혀.
감사합니다.
** 주로 의견 기반 ** 많은 좋은 질문들이 전문가의 경험을 토대로 어느 정도의 의견을 제시하지만,이 질문에 대한 답변은 사실, 참고 문헌 또는 특정 전문 지식보다는 의견을 거의 기반으로하는 경향이 있습니다 ._ – melancia
대부분의 정수 타입이 프라이 머리 키보다 선호되거나 VIN 번호를 프라이 머리 키로 사용하여 compositeprimary 키를 만들거나 고유하게 두는 경우 –
데이터 오류는 어떻게됩니까? 예 : a) VIN이 동일한 차량 2 대가 필요합니다. b) 누군가 필요합니다. VIN을 변경하려면 c) VIN이없는 차량이 있습니까? 이들은 다른 합병증에 해당합니다. – Arvo