Wir überlegen, ob die Option SORT_IN_TEMPDB für unsere DW-Tabellen verwendet werden soll. Ich verstehe, dass es mehr Schreibvorgänge gibt, wenn diese Option verwendet wird, obwohl sie sequentieller sind. Wir haben ein SAN (das zuweilen notorisch langsam war), daher möchten wir in unserem Fall die Anzahl der Schreibvorgänge so weit wie möglich begrenzen. Ich glaube, Tempdb ist auf einer separaten LUN (Satz von Datenträgern).
Wir haben viel Speicherplatz in unserer Datendatei und in unserer Tempdb-Datei. Würden wir in diesem Fall von der Verwendung von SORT_IN_TEMPDB profitieren?
Eine Sache, die mich beeindruckt hat, war dieser Kommentar zu dieser Antwort
Wenn Sie einen Index neu erstellen, benötigen Sie den doppelten Platz des Index + 20% für die Sortierung. Um also jeden Index in Ihrer Datenbank neu zu erstellen, benötigen Sie im Allgemeinen nur 120% Ihres größten Index in Ihrer Datenbank. Wenn Sie SORT_IN_TEMPDB verwenden, gewinnen Sie nur 20%, Sie benötigen jedoch weitere 100% in Ihrer Datendatei. Darüber hinaus erhöht die Verwendung von sort in tempdb die E / A-Last drastisch, da Sie den Index nicht nur einmal in die Datendatei schreiben, sondern ihn nun einmal in die Tempdb und anschließend in die Datendatei schreiben. Das ist also nicht immer ideal.
Wir möchten unsere E / A-Last definitiv nicht mit unserem langsamen / möglicherweise falsch konfigurierten SAN erhöhen.
Was wäre der beste Weg, um dies zu testen? Indem Sie einfach die Tabelle mit und ohne die Option neu erstellen und die Zeiten protokollieren?
Bearbeiten : Wir haben 8 Tempdb-Dateien mit jeweils 15 GB. Wir haben TF 1117/1118 Flags gesetzt und IFI ist aktiviert. Derzeit führen wir eine Mischung aus Neuaufbau mit der Option sort_in_tempdb und ohne diese durch.
Vielen Dank!
SQL Server 2012 Enterprise