SQL Server Performance-Ratgeber
entwickler press (Verlag)
978-3-86802-030-4 (ISBN)
- Titel ist leider vergriffen;
keine Neuauflage - Artikel merken
Dieses Buch beleuchtet das Thema daher aus verschiedenen Blickwinkeln in kompakter Form. Somit kann jeder die für seine Rolle relevanten Informationen in möglichst kurzer Zeit erhalten, aber auch leicht mal über den Tellerrand blicken und sich informieren, was IT-Professionals in anderen Rollen zu einer optimalen Gesamtperformance beitragen können.
Der Autor verwendet dabei als technische Grundlage den Microsoft SQL Server in der 2008er Version, geht aber auch auf die Besonderheiten von SQL Server 2000 und 2005 ein. Dazu ist ein guter Teil der Hinweise auch auf andere relationale Datenbanksysteme übertragbar.
Ein Buch für alle, die sich mit dem Microsoft SQL Server ernsthaft beschäftigen. Angefangen vom Datenbankadministrator, über Datenbankarchitekten, Datenbank- und Anwendungsentwickler aber auch Systemadministratoren, die Server betreuen, auf denen der SQL Server eingesetzt wird.
Dipl.-Inf. Robert Panther beschäftigt sich seit Jahren mit der Anwendungsentwicklung für Mobile Devices wie beispielsweise Pocket PCs und Smartphones, tätig bei einem deutschen Softwareanbieter im Windows-Umfeld als Entwickler mit Schwerpunkten Datenbanken und Web-Anwendungen.
1;Inhaltsverzeichnis;6
2;Vorwort;14
3;Einleitung;16
3.1;E. 1 Warum dieses Buch?;16
3.2;E.2 Für wen ist dieses Buch gedacht?;17
3.3;E. 3 Erforderliche Kenntnisse und Voraussetzungen;18
3.4;E.4 Aufbau des Buches;19
3.5;E.5 Schreibweisen;19
3.6;E.6 Website zum Buch;20
3.7;E. 7 Über den Autor/Kontakt zum Autor;21
4;Optimierung für Administratoren;22
4.1;Vorbereitung der Systemumgebung;24
4.1.1;1.1 Hardwareumgebung;24
4.1.2;1.2 Betriebssystem;34
4.1.3;1.3 Datenbank-Management- System;36
4.1.4;1.4 Zusammenfassung;46
4.2;Einrichten und Warten von Datenbanken;48
4.2.1;2.1 Anlegen und Konfigurieren einer Datenbank;48
4.2.2;2.2 Regelmäßige Wartungsarbeiten;53
4.2.3;2.3 Ressourcenkontrolle mit dem Resource Governor;62
4.2.4;2.4 Zusammenfassung;66
5;Optimierung für Designer und Architekten;68
5.1;Modellierung einer Datenbank;70
5.1.1;3.1 Normalisierung & Denormalisierung;70
5.1.2;3.2 Datentypen sinnvoll nutzen;75
5.1.3;3.3 Zusammenfassung;82
5.2;Indizes;84
5.2.1;4.1 Grundlegende Funktionsweise von Indizes;84
5.2.2;4.2 Realisierung von Indizes bei SQL Server;85
5.2.3;4.3 Besondere Indexarten;87
5.2.4;4.4 Index oder nicht?;91
5.2.5;4.5 Volltextindizes;99
5.2.6;4.6 Zusammenfassung;103
5.3;Optimale Verteilung der Daten;104
5.3.1;5.1 Manuelle Aufteilung von Datenzeilen;104
5.3.2;5.2 Partitionierung;109
5.3.3;5.3 Zusammenfassung;113
6;Optimierung für Entwickler;114
6.1;Performancegrundlagen für Entwickler;116
6.1.1;6.1 Interne Verarbeitung von Abfragen;116
6.1.2;6.2 Sperren und Transaktionen;134
6.1.3;6.3 Zusammenfassung;145
6.2;Abfrageoptimierung;146
6.2.1;7.1 Optimierung einzelner Abfragen;146
6.2.2;7.2 Abfrageübergreifende Optimierung;164
6.2.3;7.3 SQL-Cursor;170
6.2.4;7.4 Zusammenfassung;178
6.3;Optimierung des Datenzugriffs;180
6.3.1;8.1 Datenzugriffstechnologien;180
6.3.2;8.2 Varianten des Datenzugriffs unter .NET;184
6.3.3;8.3 Datenbanklogik auf den Server verlagern;208
6.3.4;8.4 Zusammenfassung;211
7;Optimieren einer bestehenden Datenbank;214
7.1;Strukturierte Performanceanalyse;216
7.1.1;9.1 Zieldefinition;216
7.1.2;9.2 Überblick des Gesamtablaufs;217
7.1.3;9.3 Allgemeine Prüfung des Systems;219
7.1.4;9.4 Zusammenfassung;224
7.2;Schwachstellen identifizieren durch Performancetests;226
7.2.1;10.1 Performance Counter und dynamische Management- Sichten;226
7.2.2;10.2 SQL Server Profiler & Datenbankoptimierungsratgeber;231
7.2.3;10.3 Management Data Warehouse;240
7.2.4;10.4 Zusammenfassung;248
7.3;Durchführung der Optimierung;250
7.3.1;11.1 Maßnahmen definieren;250
7.3.2;11.2 Gewichtung der Optimierungsansätze;251
7.3.3;11.3 Gezielt optimieren und Erfolge messen;252
7.3.4;11.4 Zusammenfassung;254
8;Anhang;256
8.1;Tools & Features;258
8.1.1;A. 1 Performance- Tools von Windows und SQL Server;258
8.1.2;A.2 Kostenfreie Messwerkzeuge und Optimierungstools;260
8.1.3;A. 3 Kommerzielle Tools von Drittanbietern;263
8.2;Informationsquellen im Internet;266
8.2.1;B. 1 Websites zum Buch;266
8.2.2;B.2 Websites zur SQL Server Performance;266
8.2.3;B. 3 Allgemeine Websites zum SQL Server;266
8.2.4;B.4 Foren & Newsgroups zum SQL Server;267
8.3;Checklisten;268
8.3.1;C. 1 Checkliste für Administratoren;268
8.3.2;C.2 Checkliste für Designer und Architekten;270
8.3.3;C. 3 Checkliste für Entwickler;271
8.3.4;C.4 Checkliste zum Optimieren einer bestehenden Anwendung;272
9;Glossar;274
10;Stichwortverzeichnis;286
Teil C Optimierung für Entwickler (S. 115-116) In diesem Teil des Buches geht es um die Optimierung aus Sicht des Entwicklers. Dabei werden in Kapitel 6 Performancegrundlagen für Entwickler die notwendigen Hintergrundinformationen vermittelt, auf denen die beiden darauf folgenden Kapitel aufbauen. In Kapitel 7 – Abfrageoptimierung geht es dann um verschiedene Varianten zur Optimierung von SQL-Abfragen. Die ist sowohl für Anwendungs- als auch für Datenbankentwickler wichtig, da letzten Endes alle Datenbankzugriffe vor deren Ausführung in SQL umgewandelt werden. In vielen Unternehmen und Projekten werden diese Aufgaben ohnehin von ein und derselben Person wahrgenommen. Kapitel 8 – Optimierung des Datenzugriffs schließlich beschreibt Aspekte, die vor allem für Anwendungsentwickler relevant sind, nämlich den Datenzugriff aus einer .NET-Anwendung heraus, und welche Optimierungsmöglichkeiten dabei bestehen. Performancegrundlagen für Entwickler Bevor wir uns also in den nächsten Kapiteln mit der Optimierung von Abfragen und Datenzugriffen beschäftigen, ist es hilfreich, ein wenig mehr über die internen Zusammenhänge dieser Thematiken zu wissen. Wenn Sie sich bereits bestens mit der Funktionsweise von Abfrageoptimierer, Plancache, Sperren und Transaktionen auskennen, können Sie dieses Kapitel auch überspringen und direkt mit der Optimierung von Abfragen bei Kapitel 7 einsteigen. 6.1 Interne Verarbeitung von Abfragen Um besser einschätzen zu können, an welchen Stellen eine Abfrageoptimierung Erfolg versprechend ist, hilft es zu wissen, wie SQL-Abfragen im Detail intern verarbeitet werden. 6.1.1 Ablauf der Abfrageverarbeitung Bevor eine Abfrage ausgeführt wird, erstellt SQL Server einen Ausführungsplan, in dem festgelegt wird, wie auf die beteiligten Tabellen zugegriffen wird. Genau genommen geschieht dies in drei Schritten, bei denen verschiedene Komponenten beteiligt sind. 1. Der so genannte Parser prüft die Syntax der SQL-Anweisung und erstellt einen groben Ausführungsbaum. 2. Der Algebrizer erledigt ähnliche Aufgaben wie der Parser, geht hierbei jedoch einen Schritt weiter, da nun auch die vorhandenen Datenstrukturen der von der Abfrage verwendeten Datenbankobjekte berücksichtigt werden. So werden einerseits die Namen von Tabellen und Spalten geprüft, aber auch die Korrektheit der dazugehörigen Datentypen. Als Ergebnis des Algebrizers wird der logische Ausführungsbaum weiter optimiert und als Syntaxbaum im Plancache gespeichert (der Plancache wird weiter hinten in diesem Kapitel ausführlicher behandelt). 3. Der Optimierer (engl.: Optimizer) schließlich erstellt den eigentlichen Ausführungsplan, der die Art und Reihenfolge des Zugriffs auf die beteiligten Tabellen regelt. Auch dieser Ausführungsplan wird im Plancache gespeichert.
Erscheint lt. Verlag | 2.3.2010 |
---|---|
Sprache | deutsch |
Gewicht | 570 g |
Themenwelt | Informatik ► Datenbanken ► SQL Server |
Schlagworte | Hardcover, Softcover / Informatik, EDV/Anwendungs-Software • SQL • SQL Server |
ISBN-10 | 3-86802-030-6 / 3868020306 |
ISBN-13 | 978-3-86802-030-4 / 9783868020304 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich