문제

SQL Server 2000에서 어떤 가상 색인이 사용되는지 아는 사람이 있습니까? 나는 15+ 그러한 색인이있는 테이블을 가지고 있지만 그들이 무엇을 만들었는지 전혀 모른다. 삭제/인서트 속도를 늦출 수 있습니까?

도움이 되었습니까?

해결책

가상 색인은 일반적으로 인덱스 튜닝 마법사를 실행할 때 생성되며 정상적인 상황에서는 마법사가 정상화되면 제거됩니다.

일부는 주변에 남아 있으면 몇 가지 문제를 일으킬 수 있습니다. 이 링크를 제거하는 방법에 대한 링크.

다른 팁

2000 년은 확실하지 않지만 2005 년에는 가상의 지수와 데이터베이스 개체가 일반적으로 DTA (데이터베이스 조정 고문)

이 쿼리를 실행하여 인덱스가 가설 적인지 확인할 수 있습니다.

SELECT  *
FROM    sys.indexes
WHERE   is_hypothetical = 1

튜닝 어드바이저에게 인덱싱 전략을 기반으로하는 좋은 정보를 제공 한 경우, 결과를 일반적으로 신뢰한다고 말하지만, 물론 맹목적으로 신뢰하기 전에이를 할당 한 방법을 조사해야합니다. 모든 상황은 다를 것입니다.

"SQL Server 가상 색인"에 대한 Google 검색이 다음 기사 첫 번째 결과로. 인용하다:

가상의 인덱스 및 데이터베이스 개체는 일반적으로 DTA (데이터베이스 튜닝 어드바이저)가 만든 객체입니다.

가상의 색인은 데이터베이스 튜닝 어드바이저에 의해 생성 된 색인입니다. 일반적으로 인덱스가 너무 많다는 것은 좋은 아이디어가 아니며 사용되지 않는 쿼리 계획을 검사해야합니다.

에서 sys.indexes:

is_hypothetical     bit     

1 = Index is hypothetical and cannot be used directly as a data access path. 
    Hypothetical indexes hold column-level statistics.

0 = Index is not hypothetical.

문서화되지 않은 상태에서 수동으로 만들 수 있습니다 WITH STATISTICS_ONLY:

CREATE TABLE tab(id INT PRIMARY KEY, i INT);

CREATE INDEX MyHypIndex ON tab(i) WITH STATISTICS_ONLY = 0;
/* 0 - withoud statistics -1 - generate statistics */

SELECT name, is_hypothetical
FROM sys.indexes
WHERE object_id = OBJECT_ID('tab');

DB <> 바이올린 데모

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top