Frage

Weiß jemand, was hypothetische Indizes in SQL Server 2000 verwendet werden? Ich habe eine Tabelle mit mehr als 15 solcher Indizes, haben aber keine Ahnung, was sie geschaffen wurden. Können sie Löschungen / Inserts verlangsamen?

War es hilfreich?

Lösung

hypothetische Indizes werden in der Regel erstellt, wenn Sie Indexoptimierungs-Assistenten ausführen und Vorschläge sind unter normalen Umständen werden sie entfernt werden, wenn der Assistent OK läuft.

Wenn einige links sind um sie einige Probleme verursachen können, finden Sie unter

Andere Tipps

Nicht sicher 2000, aber 2005 hypothetische Indizes und Datenbankobjekte in der Regel Objekte erstellt von DTA (Datenbankoptimierungsratgeber)

Sie können überprüfen, ob ein Index, indem Sie diese Abfrage hypothetisch:

SELECT  *
FROM    sys.indexes
WHERE   is_hypothetical = 1

Wenn Sie den Tuning-Berater gute Informationen gegeben haben, auf deren Grundlage es Indexierungsstrategie ist, dann würde ich generell sagen, ihre Ergebnisse vertrauen, aber wenn man natürlich sollte prüfen, wie sie diese zugewiesen hat, bevor Sie es blind vertrauen. Jede Situation wird anders sein.

Eine Google-Suche für "SQL Server hypothetische Indizes" gab die folgende Artikel als erstes Ergebnis. Zitat:

  

Hypothetische Indizes und Datenbankobjekte sind im Allgemeinen einfach Objekte durch DTA (Datenbankoptimierungsratgeber) erstellt

Hypothetische Indizes sind die von dem Datenbank-Tuning Advisor generiert. Im Allgemeinen zu viele Indizes haben ist nicht eine gute Idee, und Sie sollten überprüfen Sie Ihre Abfrage diejenigen beschneiden will, die nicht verwendet werden.

Von 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.

Sie könnten auch manuell mit undokumentierte WITH STATISTICS_ONLY erstellt werden:

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 <> Geige Demo

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top