programing

Sql Server Unique Key도 Index입니까?

stoneblock 2023. 10. 6. 20:49

Sql Server Unique Key도 Index입니까?

테이블에 기둥이 있어요.UserName)이(가) 고유한지 확인합니다.그래서 해당 열에 대한 고유한 키를 생성하고 IX_Users_UserName이라고 부릅니다.

사용자 이름을 기준으로 사용자를 많이 검색하면 해당 필드에 대한 인덱스가 있는지 확인하고 싶습니다.

별도의 인덱스를 만들어야 합니까, 아니면 기본 키가 클러스터된 고유 키인 것처럼 고유 키도 인덱스로 간주합니까?

Unique Key: Unique Key는 정의된 열에 고유성을 적용합니다.Unique Key는 열에 비클러스터 인덱스를 만듭니다.Unique Key는 NULL 값을 하나만 허용합니다.

테이블을 변경하여 고유 제약 조건을 열에 추가합니다.

ALTERTABLE 작성자 추가 제약 조건 IX_작성자_이름 UNIUIC(이름) GO

원천

MSDN의 자세한 정보.

FWIW - 명명하지 IX_이는 일반적으로 하나(IX = Index)와 관련된 것으로 가정됩니다.

기본적으로 SQL Server에서는 고유한 인덱스를 통해 고유한 제약 조건을 실현합니다.

유니크한 제약과 유니크한 지수의 차이는 실제로 상당히 미묘합니다.UNIECIAL INDEX를 생성하는 경우 다른 테이블의 외부 키 제약 조건에서 이를 참조할 수 있습니다(UNIECIAL 제약 조건을 생성하면 작동하지 않음...).

그래서 뭐가 다른 거지?고유한 제약 조건은 실제로 테이블 위의 논리적인 것에 가깝습니다. 주어진 열(또는 열 그룹)의 내용이 고유하다는 의도를 표현하고자 합니다.

대부분의 인덱스와 마찬가지로 고유한 인덱스는 "비공개" 구현 세부 정보에 가깝습니다.

제 관점에서는, 정말로 문제가 없는 한, 저는 항상 UNIK INDEX를 사용할 것입니다. 참조 무결성 제약의 일부가 되는 이점은 상당히 유효하고 특정한 경우에 매우 유용할 수 있습니다.기능적으로, 실제로는 고유한 제약 조건을 사용하는 것과 차이가 없습니다.유니크 지수, 진짜.

고유한 키는 거의 모든 데이터베이스 제품이 의심되는 인덱스입니다.그렇지 않으면 데이터베이스가 이를 시행하는 데 어려움을 겪을 것입니다. 값을 삽입하면 데이터베이스는 "해당 값이 이미 존재합니까?"라고 대답해야 합니다.그것을 하는 현명한 방법은 색인을 참조하는 것입니다.

테스트할 SQL 서버가 제 앞에 없지만, 테스트하지 않으면 충격을 받을 것입니다.

언급URL : https://stackoverflow.com/questions/366186/is-the-sql-server-unique-key-also-an-index