Welche Ressourcen sind für die Optimierung der Datenbankleistung vorhanden? [geschlossen]


214

Welche guten Ressourcen gibt es, um die Datenbankoptimierung der wichtigsten Engines zu verstehen und Ihr Wissen in diesem Bereich zu erweitern?

Die Idee dieser Frage ist es, die ausnahmslos vorhandene Schuppenlast an Ressourcen zu sammeln, damit die Menschen einen "One-Stop" -Wissensshop für die guten, von Gleichaltrigen genehmigten Ressourcen haben können.


Allgemeines SQL

PostgreSQL ( Wiki ) ( PGsearch )

MySQL

Orakel

MS SQL Server

Sybase SQL überall

JDBC

Antworten:


31

Tom Kyte von Oracle verfügt über ein fantastisches Repository für alle Arten von Leistungsproblemen, die auf http://asktom.oracle.com vorstellbar sind . Normalerweise nimmt er sich die Zeit, um bestimmte Probleme nachzubilden, und gibt sehr detaillierte Erklärungen.






5

Schnelle PostgreSQL-Optimierung (Abfrageoptimierung)

Kurz lesen, viele Dinge gut erklären und ein echtes Beispiel "funktionieren", das für diejenigen von uns gut ist, die auf diese Weise besser lernen.

Nachdem ich den Wiki-Link zu PostgreSQL gesehen hatte, dachte ich, ich würde diesen Beitrag mit Links für MySQL- / Oracle- Dokumente bearbeiten , nicht wirklich eine Optimierungsanleitung, aber beide sind gute Ressourcen, insbesondere die MySQL-Anleitung. Zur Optimierung und für andere Tuning-Funktionen.




3

Ich möchte hinzufügen, dass Sie Ihre Anwendung nicht nur theoretisch optimieren, sondern auch mit einem Profiler profilieren sollten, der SQL-Aufrufe verfolgt.

Trotz Ihrer besten Absichten schleichen sich ein paar schlechte Anrufe in Ihre Anwendung ein und verursachen häufig 90% Ihrer leistungsbezogenen Probleme.



2

Wenn Sie nach SQL Server-spezifischen Referenzen zur Leistungsoptimierung suchen, steht online eine Vielzahl von Qualitätsressourcen zur Verfügung, die von White Papers zur Implementierung bestimmter Technologien wie Partitionierung bis hin zu hervorragenden Blogs reichen, in denen Schritt für Schritt Anweisungen zur Leistungsoptimierung enthalten sind SQL Server-Plattform.

Es folgt ein schamloser Plug: Sie können mit Ihrer Recherche beginnen, indem Sie den Bereich zur Leistungsoptimierung in meinem persönlichen Blog überprüfen oder mir für bestimmte SQL Server-Anforderungen / -Probleme eine E-Mail senden.

SQL Server-Ressourcen










1

Ich war ziemlich glücklich, als ich auf diese Weise schnell sah, was mit einer SQL-Anweisung passiert ist, die Sie unter Oracle optimieren. Ändern Sie die erste SQL-Anweisung unten in Ihre SELECT-Anweisung und behalten Sie diesen Hinweis bei.

SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM DUAL;

SELECT * FROM TABLE(dbms_xplan.display_cursor( NULL, NULL, 'RUNSTATS_LAST'))
;

PLAN_TABLE_OUTPUT
-----------------------------------------------------
SQL_ID  5z36y0tq909a8, child number 0
-------------------------------------
SELECT /*+ GATHER_PLAN_STATISTICS */ * FROM DUAL

Plan hash value: 272002086

---------------------------------------------------------------------------------------------
| Id  | Operation         | Name | Starts | E-Rows | A-Rows |   A-Time   | Buffers | Reads  |
---------------------------------------------------------------------------------------------
|   1 |  TABLE ACCESS FULL| DUAL |      1 |      1 |      1 |00:00:00.02 |       3 |      2 |
---------------------------------------------------------------------------------------------


12 rows selected.

Wo:

  • E-Zeilen sind geschätzte Zeilen.
  • A-Zeilen sind tatsächliche Zeilen.
  • A-Zeit ist die tatsächliche Zeit.
  • Puffer sind tatsächliche Puffer.

Wenn der geschätzte Plan um Größenordnungen von der tatsächlichen Ausführung abweicht, wissen Sie, dass Sie Probleme haben.


0

Für Leute, die mit Oracle arbeiten, empfehle ich diesen Link .............

http://download.oracle.com/docs/cd/B19306_01/server.102/b14200/toc.htm

Aufgrund meiner Erfahrungen mit der Entwicklung von Oracle-Datenbanken habe ich festgestellt, dass es wichtig ist, Kenntnisse über die Verwendung von SQL, dessen Funktionsweise und die verfügbaren Funktionen (mitgelieferte Funktionen, Klauseln, von denen Sie nicht wussten, dass sie in der letzten Version vorhanden waren oder erweitert wurden) aufzubauen Ich verbringe viel weniger Zeit damit, SQL zu optimieren.


0

Ich würde zunächst verstehen, wie die Datenbank auf einer grundlegenden Ebene funktioniert. Wie werden Daten auf der Festplatte gespeichert, was bewirkt das Erstellen eines Index, wie funktioniert die Optimierung von Abfrageplänen, wie werden Pläne zwischengespeichert, wann zwischengespeicherte Pläne ablaufen.

Wenn Sie all das in Erinnerung behalten können, scheinen die meisten Ratschläge zur Optimierung offensichtlich zu sein.

Hier ist ein großartiges Buch für MSSQL

SQL Server-Interna



0

Manchmal müssen Sie wissen, wie Sie das Problem beheben können, sobald es identifiziert wurde. Dies zeigt Möglichkeiten, wie Sie einen schlecht funktionierenden Cursor durch eine satzbasierte Operation ersetzen können: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

Es war spezifisch für SQL Server, aber viele der Techniken könnten auch auf andere Datenbanken übertragen werden.


0

Für Microsoft SQL würde ich die Bücher von Kalen Delaney (et al.) Mit dem Namen "Inside SQL Server" empfehlen. Sie bieten einen guten Einblick in die Interna von SQL Server und ermöglichen es den Lesern, sich darüber zu informieren, warum bestimmte Anweisungen möglicherweise schneller sind als andere.

In SQL Server 7.0
In SQL Server 2000
In Microsoft SQL Server 2005
Microsoft SQL Server 2008-Interna

Es gibt auch ein Buch zur Leistungsoptimierung von SQL Server 2008-Abfragen: SQL Server-Leistungsoptimierung destilliert

Ich mag auch die Blogs von Paul Randal und Kimberly Tripp auf SQLSkills.com. Sie sind voll von soliden SQL-Ratschlägen:

Pauls Blog
Kimberlys Blog


0

Für die Leistungsoptimierung von SQL Server ist Itzik Ben-Gan eine Legende.

Hier finden Sie seine vielen detaillierten Bücher, alle mit seinem üblichen empirischen Messstil, um seinen Fall zu beweisen: http://tsql.solidq.com/books/index.htm

Wenn Sie nach der schnellsten Lösung für ein T-SQL-Problem suchen, fügen Sie Ihrem Google-Suchbegriff das Wort "itzik" hinzu.

Itzik Ben-Gan wurde hier über 600 Mal im Stackoverflow erwähnt , aber ich konnte es nicht glauben, dass er hier in dieser Frage zur Leistungsoptimierung keine einzige Erwähnung fand.

Als zusätzliche Ressource finden Sie hier auf youtube auch einige Videos von Itzik, die über leistungsbezogene Themen sprechen .


0

Oracle-Sites

  1. 2-tägiger Leitfaden zur Leistungsoptimierung http://docs.oracle.com/cd/E11882_01/server.112/e10822/toc.htm
  2. Handbuch zur Leistungsoptimierung http://docs.oracle.com/cd/E36909_01/server.1111/e16638/toc.htm

Oracle-Bücher

  1. Oracle Core: Grundlegende Interna für Datenbankadministratoren und Entwickler von Jonathan Lewis
  2. Erfahrene Oracle-Datenbankarchitektur: Oracle Database 9i, 10g und 11g Programmiertechniken und -lösungen von Thomas Kyte
  3. SQL Tuning von Dan Tow
  4. Tipps und Techniken zur Leistungsoptimierung für Oracle Database 11g Release 2 (Oracle Press) von Richard Niemiec
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.