저는 현재 행이 0 인 테이블을 보유하고 있지만 1 년에 4-5 백만 개까지 커질 것입니다. biglogid는 "COMB GUID"를 사용하여 테이블/색인을 조각화하지 않도록합니다. 행을 추가하면 rowstate의 값은 1이됩니다. 그러나 행이 필요하지 않으면 null로 설정됩니다 (연간 정리, 비즈니스 규칙을 제외하고는 아무것도 삭제할 수 없습니다). 이것은 결국 null이 아닌 열보다 null이 더 많음을 의미하므로 rowstate 열은 Sparse가됩니다.PK 인덱스/제약 조건의 SQL Server 필터링 된 인덱스?
"biglogid에서 logtext 선택 ...... ...... 및 rowstate가 null이 아님"테이블에서 선택하십시오. 활성화 된 경우에만 값을 가져옵니다. 이것이 테이블에 대해 실행되는 유일한 실제 쿼리 인 경우 PK를 필터링 된 인덱스로 만드는 데 가치가 있습니까? 그렇다면 TSQL 구문은 무엇입니까?
감사합니다.
CREATE TABLE biglog(
biglogid [uniqueidentifier] NOT NULL,
logtext [varchar](400) NOT NULL,
rowstate [tinyint] SPARSE NULL,
CONSTRAINT biglogpk PRIMARY KEY CLUSTERED
(
biglogid ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 85) ON [PRIMARY]
) ON [PRIMARY]
필터링 된 색인을 만들 수 없습니다. –