고유 색인 또는 고유 키?
고유 인덱스와 고유 키의 차이점은 무엇입니까?
독특한 작품은 차이점이 있는 곳이 아닙니다.인덱스와 키는 동일한 것이 아니며 비교도 되지 않습니다.
키는 기본 키 또는 명시적으로 정의된 고유 제약 조건을 사용하여 강제로 고유하도록 설정된 데이터 열 또는 여러 열입니다.반면 인덱스는 더 빠른 검색을 위해 데이터 위치를 저장하는 구조입니다.
문서에서:
테이블 또는 뷰에 고유 인덱스를 만듭니다.고유 인덱스는 두 행이 동일한 인덱스 키 값을 갖도록 허용되지 않는 인덱스입니다.뷰의 클러스터된 인덱스는 고유해야 합니다.
UNIQUE 제약 조건을 사용하여 기본 키에 참여하지 않는 특정 열에 중복된 값이 입력되지 않도록 할 수 있습니다.UNIQUE 제약 조건과 Primary KEY 제약 조건 모두 고유성을 적용하지만, 기본 키가 아닌 열 또는 열 조합의 고유성을 적용하려는 경우 Primary KEY 제약 조건 대신 UNIQUE 제약 조건을 사용합니다.
이 둘을 비교하는 MSDN 기사는 당신이 추구하는 것입니다.용어는 "constraint"가 ANSI라고 할 수 있지만 SQL Server에서는 Unique Constraint를 비활성화할 수 없습니다...
대부분의 경우 차이가 없습니다. 제약 조건은 표지 아래의 지표로 구현됩니다.MSDN 기사는 이를 뒷받침합니다. 메타 데이터에는 다음과 같은 차이점이 있습니다.
- 수정 채움 계수 조정
- INCUBLE은 보다 효율적인 커버링 인덱스(복합체 제약)를 제공합니다.
- 필터링된 인덱스는 행의 하위 집합에 대한 제약 조건과 같습니다. 다중 null 등을 무시합니다.
"유니크 키(Unique key)"는 맞춤법입니다.키(일명 "Candidate Key")는 데이터베이스의 논리적 특징으로, 테이블에서 속성 집합의 고유성을 강제하는 제약 조건입니다.
인덱스는 어떤 방식으로든 성능을 최적화하기 위한 물리적 수준 기능입니다.색인에는 여러 가지 종류가 있습니다.
고유 키: 데이터베이스에 제한을 가하는 제약 조건입니다.이 제한은 중복된 값을 허용하지 않는다는 것입니다.예를 들어, 한 열을 기본 키로 선택하려면 NULL & UNIQUE가 아니어야 합니다.
유니크 인덱스 : 데이터베이스에서 쿼리를 실행하면서 성능을 향상시키는 인덱스입니다.고유 인덱스에서는 인덱스에 중복된 값도 허용하지 않습니다. ie.no 두 행의 인덱스 키 값이 동일합니다.
다음은 몇 가지 주요 차이점입니다.
목적:
- Unique Key: 테이블 레벨에서 데이터의 무결성을 보장하여 테이블에 중복되는 내용을 입력할 수 없습니다.쿼리 계획에 사용되지 않으며 쿼리 속도에 기여하지 않습니다.Primary Key와는 다른 목적으로 Primary Key는 업데이트/삭제 등의 데이터 작업에 대한 각 레코드를 고유하게 식별합니다. 복잡한 표에서 고유 키는 여러 열의 조합일 수 있으며 트랜잭션에 대해 레코드를 식별하는 데 고유 키를 사용하는 것은 비효율적입니다. 따라서 기본 키는 표에서 특정 레코드를 빠르게 식별할 수 있는 반면 고유 키는 두 레코드가 동일한 키 속성을 가지고 있지 않다는 것을 보장합니다.)
- Unique Index : 인덱스 수준에서 데이터의 고유성을 보장하며, 필터링된 인덱스의 경우 테이블 수준에서 고유성을 보장할 수 없습니다.쿼리 계획 및 데이터 가져오기에 사용되므로 사용/쿼리된 열에 따라 쿼리 속도가 빨라집니다.
필터 옵션:
- 고유 키: 필터 옵션을 사용할 수 없습니다.
- 고유 지수: 필터 옵션을 사용할 수 있습니다.
스토리지 옵션:
- 고유 키: 파일 그룹 전용
- 고유 색인: 파일 그룹 또는 파티션
아이콘:
- 고유 키 : 아이콘은 세로 키 [ ]
- 고유 인덱스: 아이콘은 b-tree [ ]입니다.
키(일명 키워드)와 인덱스는 모두 테이블 행의 식별자입니다.
인덱스는 식별된 행에 대한 포인터를 포함하는 병렬 식별 구조이지만 키는 상황 필드 멤버입니다.
키는 식별자로서 고유성(제약)과 NOT NULL(제약)을 의미합니다.NULL에는 식별자(null이 아무것도 식별할 수 없으므로)라는 의미와 고유하지 않은 식별 값이 없습니다.
데이터를 할 수 데이터에 역할을 하지 터는제를할수며유지로을자 [ 1 ]
키 또는 인덱스(식별자)를 제약 조건(룰 또는 제한)에 따라 부르는 것은 유감스러운 관행입니다.
키는 다음과 같은 맥락에서 사용됩니다.
- 보조 키(secondary keys)라고도 불리는 대체 키는 여러 개일 수 있습니다.
- 합성 키(몇 개 필드 결합)
- 기본 키(슈퍼키), 자연 키 또는 대리 키, 단 하나, 참조 무결성에 실제로 사용됨
- 외제키
외부 키는 다른 테이블(기본 키인 경우)의 키이며, 심지어 자주 참조하는 키도 아닙니다.이러한 사용법은 "외계키 제약" 용어를 "외계키"로만 단축하는 것으로 설명됩니다.
기본 키 제약 조건은 실제로 NOT NULL 및 UNIQUE 제약 조건 + 참조된 열(또는 결합된 열)이 식별자이며 유감스럽게도 "기본 키" 또는 "기본 키 제약"으로 대체되었지만 둘 다 (기본 키) 제약 조건 또는 (기본) 키로만 호출할 수 없습니다.
업데이트:
관련 질문:
[1]
INDEX 작성을 위한 독특한 주장 - 무엇을 위한 것입니까?
기능은 사용 사례에 따라 다릅니다.
Customer_ID 및 TEAM_NAME을 기준으로 중복 행을 허용한다고 가정합니다.
이 경우 다음 두 가지를 모두 사용할 수 있습니다.
- 유니크 인덱스
idx_customer_id_name
(CUSTOMER_ID
,TEAM_NAME
) - 유니크 키
unique_key_customer_id_name
(CUSTOMER_ID
,TEAM_NAME
)
그러나 Customer_ID AND TEAM_NAME을 기준으로 레코드를 가져오는 빈도를 고려해야 합니다. 더 많은 경우 고유 인덱스를 사용해야 레코드를 더 빨리 검색할 수 있으므로 고유 인덱스를 사용해야 합니다. 그렇지 않으면 인덱스를 기준으로 가져오는 것을 엿듣지 않도록 고유 키를 사용해야 합니다.
언급URL : https://stackoverflow.com/questions/3794607/unique-index-or-unique-key
'source' 카테고리의 다른 글
팬더 데이터 프레임을 인덱스별로 정렬하는 방법은? (0) | 2023.09.09 |
---|---|
사용자가 브라우저 기록으로 돌아갈 수 있는지 여부를 확인하는 방법 (0) | 2023.09.09 |
SQLPlus 스크립트를 통과하지 못한 매개 변수의 기본값 (0) | 2023.09.09 |
ASP에서 httpOnlyCookies를 정확히 어떻게 구성합니까?NET? (0) | 2023.09.09 |
변환 후 '1970-01-01' 표시 PHP 날짜 (0) | 2023.09.09 |