Wie kann ich SQL Server-Indexoptimierung lernen? [geschlossen]

8

Was ist der beste praktische Weg, das Index-Tuning beim Schreiben von Tsql-Abfragen zu erlernen? Ich habe VS2008 SQL Express. Könnte mir bitte jemand Beispiele geben? Ich habe bereits Online-Artikel gefunden und sie sind großartig in der Theorie, aber ich sehe immer noch keine Index-Abstimmung in der realen Handlung. Gibt es kleine, einfach zu erstellende Beispiele?

    
dotnet-practitioner 03.03.2009, 02:28
quelle

6 Antworten

6

Um Indizes zu optimieren, benötigen Sie meist große Tabellen mit vielen Daten, so dass kleine, einfache Beispiele nicht leicht zu finden sind.

Meine Erfahrung ist mit den SQL 2000-Tools. Query Analyzer, zeigt den Ausführungsplan und betrachtet die Arten der verwendeten Indizes und Joins. Sehr schwer es hier zu beschreiben.

Ich kann ein gutes Buch zu diesem Thema empfehlen, insbesondere Kapitel 9.

Ссылка

Ich würde Sie davon abraten, die automatisierten Index-Tuning-Tools zu verwenden, bis Sie verstehen, wie Sie es manuell tun können. Ich denke, es ist wichtig, wenn es empfiehlt, einen Index hinzuzufügen, der die Fähigkeit hat, die Empfehlung vernünftig zu prüfen und selbst zu entscheiden, ob es eine gute Option ist. Häufig wird empfohlen, einen Index mit vielen Spalten hinzuzufügen, um eine einzelne Abfrage zu beschleunigen, die Sie analysieren möchten. Dies kann jedoch negative Auswirkungen auf Ihre Datenbank insgesamt haben, wenn Sie alle Abfragen mit dieser Tabelle betrachten.

    
MikeW 03.03.2009, 02:38
quelle
1

Kimberly Trip (SQL Goddess) ist ein Experte und hat gesprochen & amp; geschriebene Lose zu dem Thema:

Ссылка

    
Booji Boy 03.03.2009 03:19
quelle
0

Wenn Sie die SQL Developer Edition verwenden, sollten Sie sich den Ratgeber zur Optimierung der Datenbank-Engine ansehen.

Wenn Sie den Profiler verwenden, um eine Standard-Workload für Ihre Datenbank zu erfassen, kann das DETA empfehlen, welche Statistiken und Indizes Sie anwenden könnten.

Seien Sie vorsichtig, obwohl dieses Tuning viel Nachdenken erfordert, da das Hinzufügen neuer Indizes die Geschwindigkeit Ihrer Arbeitslast erhöhen kann, aber Sie können die Geschwindigkeit einer unwichtigen Abfrage auf Kosten einer sehr wichtigen erhöhen.

Es gibt ein gutes Buch über TSQL-Abfragen, das einige sehr gute Tipps dazu gibt, wie Abfragen funktionieren und wie man sie abstimmen kann, was MSSQL-spezifisch ist.

    
Spence 03.03.2009 02:37
quelle
0

Wenn Ihr Datenbankschema in SQL Server einfacher ist, müssen Sie nicht viel tunen, da Primärschlüssel automatisch zu einem gruppierten Index führen und Fremdschlüsseleinschränkungen einen eindeutigen Index erfordern. So wird normalerweise auf deine Joins geachtet.

Wo es schwierig wird, ist mit Suchen und Filtern, die die Abfragen in der Anwendung verwenden. Sie müssen diese Abfragen speziell betrachten und Kandidaten für zusätzliche Indizes identifizieren.

Eine weitere Option ist der SQL Server-Optimierungsratgeber, aber ich rate davon ab, ihn zu verwenden, weil er so viel Lärm erzeugt. Sie können es jedoch verwenden, um die am schlechtesten anstößigen Abfragen zu finden.

    
cdonner 03.03.2009 02:37
quelle
0

Als Ausgangspunkt für die Ermittlung Ihrer schlechtesten Abfragen finden Sie in meiner Antwort hier .

Das Tun lernen ist Übung. Wenn Sie sich dafür qualifizieren möchten, kaufen Sie zunächst das Buch von SQL Server Query Performance Tuning Distilled >     

Mitch Wheat 03.03.2009 02:40
quelle
0

Ken Englands Microsoft SQL Server 2000 Handbuch zur Leistungsoptimierung und -optimierung ist ein Klassiker. (Die Amazon-Berichte sagen, die 2005-Version dieses Buches ist nicht so gut)

    
Sam Saffron 03.03.2009 03:26
quelle