Der beste Weg, MS SQL Server zu beschleunigen

8

Ich habe mich gefragt, ob jemand einige allgemeine sys Admin Fragen hat, wie man den MS SQL Server für die Geschwindigkeit am besten einrichtet. Ich habe die Protokolldateien auf einem anderen Laufwerk mit einem eigenen Controller platziert und die Indizes auf ihr Laufwerk, aber auf denselben Controller wie die Hauptdatendateien verschoben.

Auf welche andere Weise kann ein Systemadministrator den MS SQL-Server einrichten, um den Festplattenzugriff zu beschleunigen und die Abfragezeiten zu überprüfen?

    
Bongani 24.02.2009, 16:00
quelle

6 Antworten

17

Die Frage ist ziemlich allgemein, so dass eine allgemeine Antwort passt:

  • Verwenden Sie schnelle Hardware. Habe so viel RAM wie möglich.
  • Wenn Sie ein 32-Bit-Betriebssystem verwenden, funktioniert AWE , insbesondere wenn es sich bei der Maschine um eine dedizierter DB-Server.
  • Bei Verwendung von 64-Bit-Betriebssystem - noch besser. Viel mehr RAM könnte gut genutzt werden.
  • Analysieren Sie die Indizes und die Anwendungsleistung regelmäßig. Erstellen Sie bei Bedarf Indizes neu, erstellen Sie neue, löschen Sie alte usw.
  • Erlernen Sie die verschiedenen Arten von Indizes - Clustered, Partitioned, etc.
  • Verwenden Sie bei Bedarf indizierte Ansichten.
  • DB Tuning Advisor könnte helfen.
  • Verwenden Sie eine LoadBalancing-Lösung, wenn mehrere Server die DB ausführen sollen.
  • Verstehen Sie die Art der Anwendung - OLAP-Apps haben andere Anforderungen als DataWarehousing-Apps. Dies würde sich auf die Struktur der Tabellen, der Festplattenüberspannung usw. auswirken.
Moshe 24.02.2009, 16:13
quelle
2

In der Reihenfolge der Auswirkungen auf die Leistung, von den wichtigsten zu den geringsten:

  • Schreiben Sie schnelleren Code mit geeigneten Datendefinitionen und Indizes
  • Verwenden Sie schnellere Hardware
  • Konfigurationstricks der Art, nach der Sie hier fragen.

Während ein schlecht konfigurierter oder unterversorgter Server die Leistung mindern kann, sollte das typische Setup gut genug sein, dass diese Art von Dingen nun ziemlich weit unten auf der Liste liegt, worüber man sich aus Performance-Sicht sorgen sollte.

>

Natürlich, wenn Sie einen spezifischen unerklärlichen Flaschenhals haben, dann müssen Sie vielleicht etwas konfigurieren. Aber Sie sollten diese Informationen auch teilen.

    
Joel Coehoorn 24.02.2009 16:06
quelle
1

Verwenden Sie den Datenbankoptimierungsratgeber

    
RuudKok 24.02.2009 16:09
quelle
1

Zuerst würde ich versuchen, den Engpass zu identifizieren; Was ist das 'Ding', wo Sie am meisten verbessern können / Was ist der langsamste Teil Ihres Systems?

Ist es dein Code? (Angemessene Indizes, set-basierte Verarbeitung, Cursor so weit wie möglich vermeiden, ...) Ist es Hardware - bezogen? Ist es konfigurationsbezogen? - Loggt eine separate Dateigruppe / separate Festplatte ein - können Sie einige Tabellen in eine andere Dateigruppe verschieben, so dass Tabellen, die häufig in Abfragen zusammengeführt werden, sich in separaten Dateigruppen befinden - Erstellen Sie die Indizes oft neu?

    
Frederik Gheysels 24.02.2009 16:15
quelle
0

Speedy RAID konfiguriert und lädt Speicher.

    
AnthonyWJones 24.02.2009 16:05
quelle
0

Vorsicht mit dem DTA (Tuning Advisor). Es hängt alles von der Arbeitsbelastung ab.

Schnelle Dinge: Index besser. Suchen Sie nach lang laufenden oder langsamen Abfragen und fügen Sie Indizes zur Unterstützung hinzu. Wenn dies OLTP ist, achten Sie darauf, zu viele Indizes hinzuzufügen.

Schreiben Sie besseren Code, veröffentlichen Sie langsame Abfragen irgendwo (hier, oder SQLServerCentral.com) und holen Sie sich Ideen, um sie zu beschleunigen

Mehr Speicher

Die Trennung von Protokollen von Daten hilft physikalisch, aber Sie müssen IO-gebunden sein, damit dies einen Unterschied macht.

    
Steve Jones 24.02.2009 16:13
quelle

Tags und Links