Frage

I mit etwa 2K Reihen einen Kalender Tisch. Dies ist eine Lookup-Tabelle und wird in vielen Verknüpfungen verwendet werden.

Die Spalten sind

CalendarId (PK, Clustered)
DateTimeValue
IsWeekDay
IsWeekend
IsHoliday

Meine Frage lautet:. Ich möchte auf Datetimevalue einen Index haben

Wann soll ich diesen Index erstellen?

Mit anderen Worten, wie groß eine Tabelle muss sein, bevor Sie einen Index auf sie setzen?

War es hilfreich?

Lösung

Sie fügen den Index, wie Sie die Tabelle zu erstellen, bevor die erste Zeile eingefügt wird. Die Indizierung ist Teil des Datenmodells Design, nicht einige Nachzügler, wenn die Daten beginnen Probleme zeigen.

A auf eine leere Tabelle fehlt Index ist immer noch ein fehlt Index.

Andere Tipps

Sie wollen sicherstellen, dass Sie einen Index für die Dinge haben, wie Sie benötigt werden, müssen Sie nicht auf „wait“ wollen, bis es zu einem Problem wird .... von diesem Punkt Sie Zeit verschwendet haben.

Aber zur gleichen Zeit, erstellen Sie einen Index nicht nur um eine zu schaffen, sicherzustellen, dass es sinnvoll, für die Anwendung macht.

Zum Beispiel, abhängig von Ihrem Betrieb, ich denke Dich „effizienter“ werden auf dem Datetimevalue clustern, wie ich vermute, Sie haben 1 Eintritt pro Tag.

Fügen Sie immer den Index zu starten. Eine Tabelle ist nie zu kleiner einen Index haben. Ein Index wird nur ein Problem, wenn Sie einen sehr großen Tisch haben, als Inserts / Updates / Löschungen verlangsamen kann.

Ich denke, dass „Datetimevalue“ würde in dieser Tabelle die natürlichen Schlüssel sein? Es sollte einen eindeutigen Index von Anfang hat.

In Bezug auf die anderen Felder, ist es unwahrscheinlich, dass Indizes für IsWeekDay oder IsWeekend wird vom Optimierungsprogramm verwendet werden, da sie eine geringe Selektivität aufweisen (IsWeekDay 71% der Zeilen zurückgibt).

Bearbeiten Beachten Sie auch, dass dies im Grunde eine schreibgeschützte Tabelle. Sie können wie auch immer Indizes, die Sie hinzufügen, es wird immer nur Schreibleistung einmal alle paar Jahre beeinflussen, wenn Sie eine weitere Jahre im Wert von Daten hinzufügen.

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