SQL-Leistung erklärt
SQL Performance ExplainedVon Markus Winand
Rezensionen: 21 | Gesamtbewertung: Gut
Ausgezeichnet | |
Gut | |
Durchschnitt | |
Schlecht | |
Schrecklich |
SQL Performance Explained hilft Entwicklern, die Datenbankleistung zu verbessern. Der Schwerpunkt liegt auf SQL - es deckt alle wichtigen SQL-Datenbanken ab, ohne sich in den Details eines bestimmten Produkts zu verlieren. Beginnend mit den Grundlagen der Indizierung und der WHERE-Klausel führt SQL Performance Explained Entwickler durch alle Teile einer SQL-Anweisung und erläutert die Fallstricke von
Rezensionen
Die Prämisse dieses Buches ist, dass Entwickler über fundierte Kenntnisse darüber verfügen sollten, wie die SQL-Indizierung am effektivsten zum Abrufen von Daten verwendet werden kann. Da Entwickler genau wissen, welche Daten von der Anwendung benötigt werden, können sie effizientere Abfragen besser entwerfen als DBAs wahrscheinlich. Markus bietet viele Strategien und Beispiele dafür, wie Indizes erstellt werden können, um die Leistung zu maximieren.
Ich fand die Beispiele sehr ähnlich zu Problemen im wirklichen Leben, die Codebeispiele sind kurz und klar, und es gibt viele Abbildungen, die durchgehend gespickt sind, um einige Themen zu verdeutlichen.
Ich kann das nicht genug empfehlen, aber wenn Sie keine Lust haben, das Buch zu kaufen, besuchen Sie seine Website, indem Sie nach "Use the Index, Luke!" Suchen.
Dieses Buch passt perfekt in diesen Bereich von SQL-Büchern für alle Entwickler. Ziel ist es, die Prinzipien der Datenbankleistung und -optimierung kurz zu erläutern und sich dabei auf die wichtigsten Tools zu konzentrieren, die alle Datenbanken bieten, insbesondere den B-Tree-Index. Winand beginnt mit einer Beschreibung, wie Datenbanken Daten organisieren und wie B-Tree-Indizes verwendet werden, um die relevanten Daten zu finden. Die Diskussion der Indizes ist mit vielen konkreten Beispielen und Tipps verbunden, um herauszufinden, wie eine Datenbank eine Abfrage verarbeitet. Die Beispiele beziehen sich auf Oracle-Datenbanken, und an einigen Stellen werden lange Diskussionen zu Oracle-spezifischen Themen geführt (z. B. nicht standardmäßige Behandlung von NULL-Werten), sie sind jedoch hauptsächlich auf andere Datenbanken anwendbar, insbesondere auf PostgreSQL. Es gibt auch einen Anhang zur Verwendung der Abfrageerklärungen verschiedener RDBMS-Systeme. Winand geht detailliert auf verschiedene Arten der Erstellung von Indizes ein (z. B. Covering- und Teilindizes) und für welche Szenarien diese verschiedenen Methoden geeignet sind, ohne sich im Text zu verlieren. Die Diskussion indexbezogener Themen nimmt etwa die Hälfte des Buches ein. Der Rest ist anderen RDBMS-Funktionen wie Verknüpfungen, Einfügen und Aktualisieren von Anweisungen gewidmet, wobei jedoch stets der Schwerpunkt darauf liegt, wie der Index verwendet werden kann, um diese Prozesse schneller und effizienter zu gestalten, und wie verschiedene Indizes selbst betroffen sind.
Das offensichtlichste Manko von SQL Performance Explained ist, dass es keinen Beispieldatensatz zum Experimentieren gibt. Ich hatte die Möglichkeit, viele der hier beschriebenen Techniken auf unsere Produktionsdatenbank anzuwenden, aber das direkte Experimentieren mit einer Beispieldatenbank mit verschiedenen Komplexitäten würde zu einer besseren Lernerfahrung im Allgemeinen führen. Klarheit leidet auch manchmal unter der Prägnanz. Beispielsweise sind einige Begriffe nicht definiert, z. B. die Zugriffsrate auf S. 86. 140 oder was zu materialisieren bedeutet, auf p. XNUMX. Allgemein nützlich wäre ein Glossar gewesen, das die wichtigsten Begriffe definiert. Das heißt, wenn solche kleinen Aufträge, die durch eine schnelle Websuche erledigt werden können, der Preis für die Prägnanz dieses Buches sind, ist dies ein Preis, den ich gerne zahle.
Wenn Sie nur ein Buch über die Datenbankleistung lesen, gibt es viel schlechtere Möglichkeiten als die erläuterte SQL-Leistung. Aber lesen Sie mehr Bücher über Datenbanken im Allgemeinen, damit ich kein anderes quälend langsames Legacy-System übernehmen muss.
Vielleicht hatte ich ziemlich große Erwartungen, ich war nicht so aufgeregt, wie ich dachte. Ich mag das erste Kapitel, in dem erklärt wird, wie relationale Datenbanken mit Index arbeiten und welche Konsequenzen dies hat. Ein weiteres interessantes Kapitel befasste sich mit dem Befehl EXPLAIN und seiner Verwendung. Das wusste ich nicht viel im Detail.
In den nächsten Kapiteln werden dann bestimmte Teile von SQL-Befehlen und deren Einfluss auf die Indexnutzung behandelt. Alle Beispiele wurden mit allen Hauptdatenbanken (Oracle, PostgreSQL, Mysql, Mssql) besprochen. Diese Kapitel waren für mich nach einer Weile etwas langweilig. Sie sind nette Referenzrichtlinien, aber für das normale Lesen eines neugierigen Lesers sind sie nicht so sehr.
Wenn ich einige perfekte Probleme lösen muss, wehe ich ;; Schauen Sie sich das noch einmal an.
Deckt überhaupt keine NOSQL-Datenbanken ab, und das ist in Ordnung. Wie diese funktionieren oder ob sie funktionieren, ist etwas, das ich gerne aufschiebe.
Wenn Sie ein IT-Experte sind und SQL-Datenbanken verwenden, sind Sie es sich selbst schuldig, eine Kopie abzuholen. Nimm mein Wort nicht dafür. Das Quiz machen und überzeugen Sie sich.
Markus ist in der Community der DB-Spezialisten bekannt, nicht nur für dieses Buch, sondern auch für die ergänzende Website use-the-index-luke.com und für aufschlussreiche Workshops und Vorträge, die er auf der ganzen Welt gehalten hat.
Das Buch ist großartig, aber es ist kein Buch, das man einmal lesen und vergessen sollte, denn man sollte immer darauf zurückkommen und versuchen, das daraus Gelernte umzusetzen und die Abfragen Stück für Stück zu verbessern.
Alles war klar und ich fand es gut, dass der Autor nicht immer allgemein spricht, sondern bestimmte DBs als SQL Server / MySQL / Oracle / PostgreSQL erwähnt.
Ein Minuspunkt: Es gibt keine Mobi- oder Ebub-Version, trotzdem zünden Sie die PDF-Version gut an