먼저 SQL의 테이블 또는 해당 데이터베이스에 대한 기본 키의 역할을 이해합니다.사용자 정의 테이블 유형에 기본 키가 있어야합니까?
그러나 사용자 정의 테이블 형식에 대해서는 기본 키를 만들어야하는 이유를 알 수 없습니다. 내 경험으로는 나는 그 (것)들에게서 성과 이득을 찾아 내지 않았다, 그러나 나는 나의 발견이 어쩌면 경험있는 관점보다는 오히려 그 (것)들 및 한정된 경험의 나의 일반적인 사용에서 온 ㄴ다는 것을 의심한다.
예를 들어 일반적으로 삽입/업데이트 프로 시저에 테이블 값 매개 변수를 사용하거나 선택 쿼리를 만드는 데 사용되는 값 배열을 전달합니다. 성능에 별다른 이점이 없다는 사실을 발견했습니다. 성능 저하를 경험 한 적이 있다면 (10 초 밀리 초를 말합니다.)
나는 그 안에 전달 된 모든 데이터가 이미 조심스럽게 청소/주문되었음을 공개해야합니다. 따라서이 문제로 인해 혜택을 볼 수는 없지만 쉽게 알 수있는 방법이 없습니다.
따라서 사용자 정의 테이블 유형에 기본 키가 있어야합니까? 아니면 중요하지 않습니까?
사과하는 경우 사과합니다. 나는 상당한 양의 검색을했지만 그때 나는 잘못된 키워드 조합을 사용할 수있었습니다.
귀하의 통찰력은 언제나 대단히 감사하겠습니다.
클러스터 된 인덱스를 구성해야하므로 성능이 약간 저하됩니다. 데이터가 사전 주문되어 있고 데이터에 대한 선택적인 쿼리를 수행하지 않을 경우 인덱스는 단지 리소스 낭비 일뿐입니다. 집합에 새로운 순서를 지정하거나 반복 집합이 집합에 대한 선택적인 쿼리를 호출하지 않을 경우 인덱스에서 이점을 얻을 수 있습니다. 집합이 충분히 큰 경우 클러스터 된 인덱스와 잠재적으로 다른 비표준을 만들 가치가 있습니다. 군집 한 indecies. – Jodrell
@ Jodrell, 고마워. 어떤 미친 이유 때문에 클러스터 된 인덱스를 구성하는 오버 헤드를 고려하지 않았습니다 !!! 또한 선주문되는 데이터에 대한 내 가정이 정확하다는 사실을 아는 것도 좋습니다. –