Ich habe gehört, dass das Speichern von Indizes in einer anderen Dateigruppe und auf einem anderen Laufwerk die Leistung in einer Datenbank erhöht, da das Laufwerk nicht zwischen dem Index und den Daten, auf die sich der Index bezieht, hin und her wechseln muss. Ich habe auch gehört, dass dies ein Mythos ist.
Wann ist es ratsam, nicht gruppierte Indizes auf einer separaten Dateigruppe und einem separaten Laufwerk zu speichern? Welche Perfmon / Profiler-Beweise würden mich zu diesem Schluss führen? Spielt Hardware eine Rolle bei der Entscheidung (ob ein RAID / SAN über ein einzelnes Laufwerk verwendet wird)?
quelle
Es ist sicher richtig, dass das Verteilen Ihrer gleichzeitigen E / A auf verschiedene Laufwerke die Leistung steigert - das ist kein Mythos. Es ist ein Mythos, dass zweimaliges Ausführen die Leistung wieder verbessert.
Wenn Sie das Gleiche tun , ist es Zeitverschwendung, Ihr Array in zwei Partitionen aufzuteilen und Indizes für eine und Tabellen für eine andere zu erstellen.
quelle
Das Trennen von Indizes von Daten auf separate Dateigruppen = Leistungsverbesserung ist höchst umstritten. Die Leistungsverbesserung "kann" eintreten, wenn Sie die zugrunde liegende Hardware haben, um sie zu unterstützen, aber nur durch die Tatsache, dass das Trennen in verschiedene Dateigruppen Ihnen keinen Leistungsschub gibt. Aus diesem Grund ist es auch NICHT einfach, den Leistungsschub zu messen.
Ref: http://weblogs.sqlteam.com/dang/archive/2008/08/01/Are-you-a-DBA-Monkey.aspx
Sie sollten die Frage zuerst stellen. Warum musst du das tun?
Ich habe mir diese Aufgabe angesehen, um die Notwendigkeit von # 5 in der obigen Liste zu untermauern, und es scheint mir ein guter Vorschlag zu sein, obwohl wir noch nicht darauf reagiert haben.
Beachten Sie, dass diese Entscheidung NICHT so einfach zu treffen ist und Sie herausfinden müssen, was Sie tun möchten, und sicherstellen müssen, dass Sie die zu unterstützende Hardware haben. Nehmen Sie solche Änderungen erst dann vor, wenn Sie einen guten Test durchgeführt haben und eine deutliche Verbesserung der Leistung feststellen. Andernfalls können Sie diese Idee auch verwerfen. Es lohnt sich NICHT, wenn Sie einen Leistungsschub erwarten, indem Sie die Indizes einfach in separate Dateigruppen aufteilen.
quelle
Ich erzähle Ihnen meine persönlichen Erfahrungen zu diesem Artikel. Die nicht gruppierten Indizes sollten in einer separaten Dateigruppe gespeichert werden, wenn das aktuelle Laufwerk nicht groß genug für den benötigten Speicherplatz ist :-). Sie können darüber lachen .. aber es passiert.
Eine Notlösung für uns, als wir im Begriff waren, ohne freien Speicherplatz auf einem Datenlaufwerk zu bleiben, bestand darin, ein nettes Skript zu erstellen, um alle nicht gruppierten Indizes online auf einer neuen Dateigruppe auf einem Laufwerk mit freiem Speicherplatz neu zu erstellen. Man könnte meinen, dass es einfach und schnell ist, neuen Speicher zu kaufen. Aber so ist es eigentlich nicht.
In Bezug auf die Leistung haben wir nach dem Umzug nichts Außergewöhnliches gesehen. Aber es ist eine große SAN-Aufbewahrungsbox, in der alles zusammengehalten wird :-).
quelle
Allgemein; Das Aufteilen von Daten und Indizes auf separate Festplatten mit ähnlicher Leistung kann die Leistung für umfangreiche Schreibvorgänge in diese Tabelle oder für umfangreiche Lesevorgänge , die diesen Index verwenden, erhöhen. Eine ähnliche Methode wie bei einigen anderen E / A-Vorgängen, z. B. eine partitionierte Tabelle, die auf mehrere physische Festplatten verteilt ist.
Es ist jedoch auch stark von der Lagerung abhängig . Beispielsweise; wenn Sie einen Server mit einem netten Fushion ioDrive (oder ähnlichem) haben und auch einzelne Drehscheiben haben. Es ist möglicherweise vorteilhafter, alles auf dem ioDrive zu belassen (es sei denn, der Speicherplatz ist begrenzt). Es gibt auch andere Dinge zu berücksichtigen - RAID-Konfiguration, Netzwerkspeicherkonfiguration.
Führen Sie ein Benchmarking entweder auf einem Testserver mit ähnlicher Hardware oder (nur wenn kein sekundärer Server verfügbar ist) außerhalb der Stoßzeiten mit temporären Daten durch. Der obige DBA-Monkey-Link von Sankar ist ein guter Anlass zum Nachdenken.
quelle