최근 데이터베이스 튜닝을 시작했습니다. SQL Server에 대한 몇 가지 아이디어가 있고 인덱스를 만들기로 결정했습니다. 색인 생성 SQL Server 2008
이 http://sqlserverplanet.com/ddl/create-index참조 된하지만 난, WITH
옵션은 어떻게 다른 인덱스의 유형 INCLUDE
같은 도움이 될 것입니다 이해가 안 돼요. 나는 구글을 시도했지만 그걸 사용할 때 간단한 설명을 보지 못했습니다.
CREATE NONCLUSTERED INDEX IX_NC_PresidentNumber
ON dbo.Presidents (PresidentNumber)
INCLUDE (President,YearsInOffice,RatingPoints)
WHERE ElectoralVotes IS NOT NULL
CREATE NONCLUSTERED INDEX IX_NC_PresidentNumber
ON dbo.Presidents (PresidentNumber)
WITH (DATA_COMPRESSION = ROW)
CREATE NONCLUSTERED INDEX IX_NC_PresidentNumber
ON dbo.Presidents (PresidentNumber)
WITH (DATA_COMPRESSION = PAGE)
위의 시나리오를 사용해야합니까? 성능이 향상 될 것인가?
샘플 검색어를 여기에 추가해주십시오. 그것은 쉽게 생각하고 이해하는 데 도움이됩니다 :) – Billa
괜찮아. 따라서 좋은 성능을 얻으려면 SELECT 문에있는 모든 열에 Index를 추가해야합니까? 테이블 스캔을 피하십시오. – Billa
아니요, 테이블 스캔을 피하기 위해 인덱스에 모든 열을 추가 할 필요가 없습니다. 테이블 스캔을 피하려면 where 절에서 사용하는 열에 대해 인덱스가 있어야합니다. 색인에 행에 대한 포인터가 포함되어 있으므로 색인의 모든 열을 가져서 성능이 향상됩니다. 커다란 이득은 필터 열에 인덱스가있는 것입니다. – BlackICE