[mysql] Quali risorse esistono per l'ottimizzazione delle prestazioni del database?



Answers

La risposta di questo tizio a una non-stessa-inchiesta è probabilmente un buon inizio.

Caratteristiche nascoste di MySQL

Question

Quali buone risorse esistono per comprendere l'ottimizzazione del database sui principali motori e far progredire le tue conoscenze in quell'area?

L'idea di questa domanda è quella di raccogliere il carico capillare di risorse che invariabilmente esistono, in modo che le persone possano avere un negozio di conoscenze "one stop" delle buone risorse approvate dai colleghi.

SQL generale

PostgreSQL ( wiki ) ( PGsearch )

MySQL

Oracolo

MS SQL Server

Sybase SQL Anywhere

JDBC




Ottimizzazione rapida PostgreSQL (ottimizzazione delle query)

Una lettura breve, spiega molte cose bene e 'funziona' un esempio reale che è bello per quelli di noi che imparano meglio in questo modo.

Dopo aver visto il link wiki a PostgreSQL, ho pensato di modificare questo post con link per mysql / oracle docs, non proprio una guida all'ottimizzazione specifica ma entrambe sono buone risorse, specialmente quella mysql. Per l'ottimizzazione e qualsiasi altra funzionalità di ottimizzazione.




Ero abbastanza felice quando ho visto questo modo di vedere rapidamente cosa è successo con un'istruzione SQL che stai sintonizzando su Oracle. Cambia la prima istruzione SQL sotto la tua istruzione SELECT e mantieni quel suggerimento lì dentro.

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.

Dove:

  • E-Rows è righe stimate.
  • A-Rows è righe effettive.
  • A-Time è il tempo reale.
  • I buffer sono buffer effettivi.

Quando il piano stimato varia dall'esecuzione effettiva per ordine di grandezza, sai di avere problemi.




Comincerei col capire come funziona il database a un livello fondamentale. Come vengono memorizzati i dati su disco, cosa fa la creazione di un indice, come funziona l'ottimizzazione del piano di query, come vengono memorizzati i piani nella cache, quando scadono i piani memorizzati nella cache.

Se puoi dedicare tutto ciò a memoria, la maggior parte dei consigli sull'ottimizzazione sembra ovvia.

Ecco un ottimo libro per MSSQL

SQL Server Internals







Per l'ottimizzazione delle prestazioni di SQL Server, Itzik Ben-Gan è una leggenda.

Puoi trovare i suoi numerosi libri dettagliati qui, il tutto con il suo solito stile di misurazione empirica per dimostrare il suo caso: http://tsql.solidq.com/books/index.htm

Se stai cercando la soluzione più veloce per un problema t-sql aggiungi la parola "itzik" al termine di ricerca di Google.

Itzik Ben-Gan è stato menzionato più di 600 volte qui su , ma non potevo crederci di trovare una sola menzione di lui qui su questa domanda di ottimizzazione delle prestazioni.

Come risorsa aggiuntiva, puoi anche trovare alcuni video di Itzik che parlano di contenuti relativi alle prestazioni qui su youtube .







  • Libro: risoluzione dei problemi di Oracle Performance (Antognini Christian)



Se stai cercando riferimenti specifici per l'ottimizzazione delle prestazioni di SQL Server, ci sono un carico assoluto di risorse di qualità disponibili online, che vanno dai white paper sull'implementazione di tecnologie specifiche come il partizionamento, agli eccellenti blog che dettagliano le istruzioni passo passo su come ottimizzare le prestazioni piattaforma server SQL.

Segue il plug Shameless: puoi iniziare la ricerca esaminando l'area di ottimizzazione delle prestazioni del mio blog personale o per eventuali requisiti / problemi specifici di SQL Server sentiti libero di inviarmi un'email.

Risorse SQL Server




A volte è necessario sapere come risolvere il problema una volta identificato. Questo mostrerà come sostituire un cursore con prestazioni scadenti con un'operazione basata su set: http://wiki.lessthandot.com/index.php/Cursors_and_How_to_Avoid_Them

Era specifico per SQL Server ma molte delle tecniche potrebbero transalizzare anche in altri dbs.













Related