web-dev-qa-db-fra.com

Quelles ressources existent pour l'optimisation des performances de la base de données?

Quelles bonnes ressources existent pour comprendre le réglage de la base de données sur les principaux moteurs et faire progresser vos connaissances dans ce domaine?

L'idée de cette question est de collecter la charge de ressources qui existe invariablement, afin que les gens puissent avoir un magasin de connaissances "à guichet unique" des bonnes ressources approuvées par les pairs.


SQL général

PostgreSQL ( wiki ) ( PGsearch )

MySQL

Oracle

MS SQL Server

Sybase SQL Anywhere

[~ # ~] jdbc [~ # ~]

213
Gavin Miller

Tom Kyte, le propriétaire d'Oracle, possède un référentiel fantastique sur tous les types de problèmes de performances imaginables sur http://asktom.Oracle.com . Il prend généralement le temps de recréer des problèmes spécifiques et donne des explications très détaillées.

31
Neil Kodner

La réponse de ce type à une enquête différente n'est probablement pas un bon début.

Fonctionnalités cachées de MySQL

19
cgp

Et quelque chose pour PostgreSQL: "Optimisation des performances" sur le site officiel wiki .

14
Milen A. Radev

Si vous utilisez une base de données Oracle, ce guide peut également vous aider. http://download.Oracle.com/docs/cd/B28359_01/server.111/b28274/toc.htm

7
Anthony

Pour MySQL, le réglage de la performance 'Bible' est High Performance MySQL

6
nathan

Optimisation PostgreSQL rapide (optimisation des requêtes)

Courte lecture, explique bien des choses et "fonctionne" un vrai exemple qui est agréable pour ceux d'entre nous qui apprennent mieux de cette façon.

Après avoir vu le lien wiki vers PostgreSQL, je me suis dit que j'éditerais ce message avec des liens pour les documents mysql / Oracle , pas vraiment un guide d'optimisation spécifiquement mais les deux sont de bonnes ressources, en particulier celui de mysql. Pour l'optimisation et toutes les autres fonctionnalités de réglage.

5
Louis
3
Gavin Miller

J'ajouterais qu'en plus d'avoir votre base de données théoriquement réglée, vous devez profiler votre application en utilisant un profileur qui suit les appels SQL.

Malgré vos meilleures intentions, quelques mauvais appels se faufileront dans votre application et causeront souvent 90% de vos problèmes de performances.

3
Nathan Voxland

Beaucoup de bons conseils spécifiques à MySQL peuvent être trouvés sur http://www.mysqlperformanceblog.com/

3
beetstra
  • Livre: Dépannage d'Oracle Performance (Antognini Christian)
2
Thomas Aregger

SQL Server Performance Site décent pour des informations spécifiques à MSSQL.

2
Christopher Klein

Si vous recherchez des références d'optimisation des performances spécifiques à SQL Server, il existe une charge absolue de ressources de qualité disponibles en ligne, allant de livres blancs sur la mise en œuvre de technologies spécifiques telles que le partitionnement, à d'excellents blogs qui détaillent des instructions étape par étape sur la façon d'optimiser les performances d'un plate-forme de serveur SQL.

La fiche sans vergogne suit: Vous pouvez commencer votre recherche en examinant la zone de réglage des performances de mon blog personnel, ou pour toute exigence/problème spécifique à SQL Server, n'hésitez pas à me renvoyer un e-mail.

Ressources SQL Server

2
John Sansom

Comment identifier les requêtes à exécution lente avec SQL Profiler est un bon didacticiel sur la façon d'identifier les requêtes à exécution lente. Cela permettra de concentrer son attention là où elle est le plus nécessaire.

2
Gavin Miller

http://explain.depesz.com/

Le chapitre Conseils de performance dans les documents PostgreSQL mérite d'être lu.

2
Stephen Denne
1
Brandon

Xaprb est un blog incontournable pour les administrateurs de bases de données MySQL. L'auteur a écrit un livre sur MySQL haute performance

Pour les quelques heureux qui travaillent avec Sybase SQL Anywhere, je ne peux que recommander le blog de Breck Carter et son Guide du développeur SQL Anywhere Studio 9

1
Vincent Buck

Voici un autre livre très apprécié qui est neutre sur la plateforme:

Dan Tow's SQL Tuning: Génération de plans d'exécution optimaux

Contient des exemples spécifiques pour Oracle, MS SQL et IBM DB2, mais les techniques impliquées devraient également s'appliquer à d'autres plates-formes.

1
BradC

"Optimisation des performances SQL" http://books.google.com/books?id=3H9CC54qYeEC&dq=sql+performance+tuning&printsec=frontcover&source=bn&hl=en&ei=1dDoSYmjMOrlnQfX-bSYBw&sa=X&oi=book_ result & resnum = 4 couvre la plupart des principaux SGBD - comment écrire des requêtes SQL multiplateformes hautement performantes, etc.

1
Matt Rogish

J'étais assez content quand j'ai vu cette façon de voir rapidement ce qui s'est passé avec une instruction SQL que vous réglez sous Oracle. Remplacez la première instruction SQL ci-dessous par votre instruction SELECT et conservez cet indice là-dedans.

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.

Où:

  • E-Rows est une estimation des lignes.
  • Les lignes A sont des lignes réelles.
  • A-Time est le temps réel.
  • Les tampons sont des tampons réels.

Lorsque le plan estimé varie de l'exécution réelle par ordre de grandeur, vous savez que vous rencontrez des problèmes.

1
WW.
1
dankoliver

Parfois, vous devez savoir comment résoudre le problème une fois qu'il est identifié. Cela montrera comment remplacer un curseur mal performant par une opération basée sur un ensemble: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

Il était spécifique à SQL Server, mais de nombreuses techniques pouvaient également être transposées dans d'autres dbs.

0
HLGEM

Pour l'optimisation des performances de SQL Server, Itzik Ben-Gan est une légende.

Vous pouvez trouver ses nombreux livres détaillés ici, tous avec son style habituel de mesure empirique pour prouver son cas: http://tsql.solidq.com/books/index.htm

Si vous recherchez la solution la plus rapide à un problème t-sql, ajoutez le mot "itzik" à votre terme de recherche google.

Itzik Ben-Gan a été mentionné plus de 600 fois ici sur stackoverflow , mais je ne pouvais pas croire qu'il ne trouve pas une seule mention de lui ici sur cette question de réglage des performances.

En tant que ressource supplémentaire, vous pouvez également trouver des vidéos de Itzik parlant de choses liées aux performances ici sur youtube .

0
Dave Hilditch
0
Tony Andrews

Je commencerais par comprendre comment la base de données fonctionne à un niveau fondamental. Comment les données sont-elles stockées sur le disque, à quoi sert la création d'un index, comment fonctionne l'optimisation du plan de requête, comment les plans sont-ils mis en cache, quand expirer les plans mis en cache?.

Si vous pouvez enregistrer tout cela en mémoire, la plupart des conseils sur le réglage semblent évidents.

Voici un excellent livre pour MSSQL

SQL Server Internals

0
rjdevereux

Pour Microsoft SQL, je recommanderais les livres de Kalen Delaney (et al) appelés "Inside SQL Server". Ils offrent un bon aperçu des composants internes de SQL Server, permettant ainsi aux lecteurs de se renseigner sur les raisons pour lesquelles des instructions particulières peuvent être plus rapides que d'autres.

à l'intérieur de SQL Server 7.
dans SQL Server 20
dans Microsoft SQL Server 2005
Microsoft SQL Server 2008 Internals

Il existe également un livre dédié à l'optimisation des performances des requêtes SQL Server 2008: SQL Server Performance Tuning Distilled

J'aime aussi les blogs de Paul Randal et Kimberly Tripp sur SQLSkills.com. Ils regorgent de conseils SQL solides:

le blog de Paul
le blog de Kimberly

0
SchmitzIT

Pour les personnes travaillant avec Oracle, je recommande ce lien .............

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

D'après mes expériences avec le développement de bases de données Oracle, j'ai découvert que l'acquisition d'une connaissance de l'utilisation de SQL, de son fonctionnement et de la connaissance de ce qui est disponible (fonctions fournies, clauses dont vous ignoriez l'existence ou améliorées depuis la dernière version) signifie Je passe beaucoup moins de temps à régler sql.

0
Ian Carpenter

Sites Oracle

  1. Guide de réglage des performances sur 2 jours http://docs.Oracle.com/cd/E11882_01/server.112/e10822/toc.htm
  2. Guide de réglage des performances http://docs.Oracle.com/cd/E36909_01/server.1111/e16638/toc.htm

Livres Oracle

  1. Oracle Core: composants internes essentiels pour les administrateurs de bases de données et les développeurs par Jonathan Lewis
  2. Expert en architecture de base de données Oracle: techniques et solutions de programmation Oracle Database 9i, 10g et 11g par Thomas Kyte
  3. Réglage SQL par Dan Tow
  4. Oracle Database 11g Release 2 Conseils et techniques d'optimisation des performances (Oracle Press) par Richard Niemiec
0
Deven