programing

고유 키와 IsUnique=Yes인 색인의 차이점은 무엇입니까?

codeshow 2023. 8. 15. 11:48
반응형

고유 키와 IsUnique=Yes인 색인의 차이점은 무엇입니까?

기본 키가 있는 테이블이 있지만 두 열의 조합이 항상 고유하게 유지되도록 다른 두 열을 제한합니다.

(어리석은 예:BOOKS 테이블에서 IBAN 열이 기본 키이지만 제목 열과 작성자 열의 조합도 항상 고유해야 합니다.)

SQL Server Management Studio에서 새 인덱스를 만들고 IsUnique를 Yes로 설정하거나 새 고유 키를 만들 수 있습니다.

두 가지 접근 방식의 차이점은 무엇이며, 어떤 것이 어떤 목적에 가장 적합합니까?

고유 제약 조건을 만드는 것이 규칙에 대한 명확한 설명입니다.인덱스의 IsUnique 특성은 규칙이 무엇인지가 아니라 규칙이 어떻게 구현되는지에 대한 구현 세부 정보입니다.효과는 똑같습니다.

그 둘 사이에는 분명한 차이가 있습니다.고유 제약 조건은 고유해야 하는 열의 조합을 정의합니다.고유 인덱스는 위의 내용이 항상 유효한지 확인하는 방법일 뿐입니다.그러나 고유하지 않은 인덱스가 고유한 제약 조건을 지원할 수 있습니다.(제약 조건이 완화 가능한 경우 = 커밋 시에만 유효해야 하지만 트랜잭션 도중에 중단될 수 있습니다.)

고유한 제약 조건을 생성하면 SQL Server가 백그라운드에서 인덱스를 생성합니다.

한 가지 어려운 방법을 알게 된 것은 SSMS에서 고유 키의 스크립팅이 기본적으로 true로 설정되었지만 인덱스의 스크립팅은 False로 설정되었다는 것입니다.SSMS에서 Script Table As 컨텍스트 메뉴를 사용했을 때 고유 인덱스를 가져오지 못했습니다.

또한 유형이 고유 키로 설정된 경우 "중복 키 무시" 설정을 변경할 수 없습니다.먼저 유형을 고유 키에서 색인으로 변경한 다음 중복 키 무시를 true로 설정할 수 있습니다.

고유 인덱스는 고유 키입니다.

나는 그것들 사이에 차이가 있다고 생각하지 않지만, 고유 인덱스를 사용하면, 우리는 두 가지 이점을 가질 수 있습니다. 왜냐하면 열은 이미 고유하고 또한 색인이 있기 때문에 나는 더 빨리 검색할 수 있기 때문입니다. 그래서 고유 인덱스를 사용하는 것이 더 이득입니다.

언급URL : https://stackoverflow.com/questions/564895/what-is-the-difference-between-unique-key-and-index-with-isunique-yes

반응형