2008-09-29 28 views
5

Czy ktoś wie, jakie hipotetyczne indeksy są używane w serwerze sql 2000? Mam tabelę z ponad 15 takimi indeksami, ale nie mam pojęcia, do czego zostały stworzone. Czy mogą spowalniać usuwanie/wstawiać?Co to są hipotetyczne indeksy?

Odpowiedz

2

hipotetyczne indeksy są zwykle tworzone podczas uruchamiania indeksu kreatora strojenia i są propozycje, w normalnych okoliczności zostaną usunięte, jeśli kreator uruchomi się poprawnie.

Jeśli niektóre z nich pozostaną, mogą powodować pewne problemy, patrz this link for ways to remove them.

1

Nie wiesz, o roku 2000, ale w 2005 hipotetyczne indeksy i obiektów bazy danych w ogóle są obiekty utworzone przez DTA (Database Tuning Advisor)

Można sprawdzić, czy indeks ma charakter hipotetyczny, uruchamiając to zapytanie:

SELECT * 
FROM sys.indexes 
WHERE is_hypothetical = 1 

Jeśli podałeś doradcy ds. Strojenia dobre informacje, na podstawie których można oprzeć jego strategię indeksowania, powiedziałbym, że generalnie ufam jego wynikom, ale jeśli powinieneś oczywiście zbadać, w jaki sposób je przydzielił, zanim zaufasz ślepo. Każda sytuacja będzie inna.

0

Indeksy hipotetyczne są indeksami wygenerowanymi przez Doradcę dostrajania bazy danych. Ogólnie rzecz biorąc, posiadanie zbyt wielu indeksów nie jest dobrym pomysłem i powinieneś sprawdzić plany zapytań, aby wyczyścić te, które nie są używane.

0

Zanim zaczniesz pisać w SO, musisz przynajmniej wykonać wyszukiwanie Google (lub cokolwiek innego). Wyszukanie "hipotetycznych indeksów serwera sql" zwróciło following article jako pierwszy wynik. Cytat:

Hipotetyczne indeksy i obiektów bazy danych w ogóle są tylko obiekty stworzone przez DTA (Database Tuning Advisor)

+4

Wyszukiwarka google nie powiedziała mi, czy pozostawienie hipotetycznych indeksów w tabeli przyniosło korzyści dla zapytań, które zadałem, stąd powyższe pytanie. –