> 데이터 베이스 > MySQL 튜토리얼 > 여러 버전에 걸쳐 SQL Server의 테이블 변수에 대한 인덱싱 기능이 어떻게 변경되었습니까?

여러 버전에 걸쳐 SQL Server의 테이블 변수에 대한 인덱싱 기능이 어떻게 변경되었습니까?

Barbara Streisand
풀어 주다: 2025-01-12 21:41:47
원래의
441명이 탐색했습니다.

How Have Indexing Capabilities for Table Variables Changed in SQL Server Across Different Versions?

SQL Server 테이블 변수 인덱싱: SQL Server 2000과 최신 버전

SQL Server 2014 이상

SQL Server 2014 이상에서는 테이블 변수를 선언할 때 고유하지 않은 인덱스를 인라인으로 직접 지정할 수 있습니다.

<code class="language-sql">DECLARE @T TABLE (
C1 INT INDEX IX1 CLUSTERED,
C2 INT INDEX IX2 NONCLUSTERED,
INDEX IX3 NONCLUSTERED(C1,C2)
);</code>
로그인 후 복사

SQL Server 2016에서는 테이블 변수에 대해 필터링된 인덱스 사용을 추가로 허용합니다.

<code class="language-sql">DECLARE @T TABLE
(
c1 INT NULL INDEX ix UNIQUE WHERE c1 IS NOT NULL
)</code>
로그인 후 복사

SQL 서버 2000-2012

SQL Server 2000-2012에서는 테이블 변수는 제약 조건을 통해서만 인덱싱할 수 있습니다.

<code class="language-sql">DECLARE @TEMPTABLE TABLE (
  [ID]   [INT] NOT NULL PRIMARY KEY,
  [Name] [NVARCHAR] (255) COLLATE DATABASE_DEFAULT NULL,
  UNIQUE NONCLUSTERED ([Name], [ID]) 
  ) </code>
로그인 후 복사

일반적으로 테이블에는 클러스터형 인덱스 또는 비클러스터형 힙이 있습니다.

  • 클러스터형 인덱스:

    • 고유 인덱스이거나 고유하지 않은 인덱스일 수 있습니다(SQL Server에서는 중복 항목에 대해 고유 식별자를 추가함).
    • 제약조건을 사용하여 CLUSTERED/NONCLUSTERED를 지정하여 재정의할 수 있습니다.
  • 비클러스터형 인덱스:

    • 고유 인덱스 또는 비고유 인덱스일 수 있습니다(SQL Server는 비고유 인덱스에 대한 행 로케이터를 추가함).
    • 은 클러스터형 인덱스처럼 재정의될 수도 있습니다.

테이블 변수에 인덱스 구현

SQL Server 2000-2012에서는 제약 조건을 통해 다음 유형의 테이블 변수 인덱스를 암시적으로 생성할 수 있습니다.

索引类型 能否创建
唯一聚集索引
非聚集堆上的唯一索引
聚集索引上的唯一非聚集索引

예를 들어 원래 예의 이름 열에 있는 고유하지 않은 비클러스터형 인덱스는 이름 및 ID에 대한 고유 인덱스로 시뮬레이션될 수 있습니다.

<code class="language-sql">DECLARE @TEMPTABLE TABLE (
     [ID] [int] NOT NULL PRIMARY KEY
    ,[Name] [nvarchar] (255) COLLATE DATABASE_DEFAULT NULL 
)</code>
로그인 후 복사

위 내용은 여러 버전에 걸쳐 SQL Server의 테이블 변수에 대한 인덱싱 기능이 어떻게 변경되었습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿