Strumenti per la raccolta e l'analisi di informazioni explain
Il server di database Db2® il server di database dispone di una funzione di spiegazione completa che fornisce informazioni dettagliate sul piano di accesso scelto dall'ottimizzatore per un'istruzione SQL o XQuery.
Le tabelle che memorizzano i dati explain sono accessibili su tutte le piattaforme supportate e contengono informazioni per le istruzioni SQL e XQuery statiche e dinamiche. Sono disponibili diversi strumenti per fornire la flessibilità necessaria per acquisire, visualizzare e analizzare le informazioni explain.
- Utilizzare lo strumento db2exfmt per visualizzare le informazioni explain nell'output formattato.
- Scrivere le proprie query rispetto alle tabelle explain. La scrittura delle proprie query consente una facile manipolazione dell'output, confronti tra query differenti o confronti tra esecuzioni della stessa query nel tempo.
- Utilizzare la procedura memorizzata EXPLAIN_FORMAT per formattare i dati explain e memorizzarli in una colonna della tabella EXPLAIN_STATEMENT.
Utilizzare lo strumento db2expln per visualizzare le informazioni sul piano di accesso disponibili per uno o più package di istruzioni SQL o XQuery statiche. Questo programma di utilità mostra l'implementazione effettiva del piano di accesso scelto; non mostra le informazioni del programma di ottimizzazione. Esaminando il piano di accesso generato, lo strumento db2expln fornisce una panoramica verbale relativamente compatta delle operazioni che si verificheranno al runtime.
Gli strumenti explain della riga comandi sono disponibili nella directory secondaria misc della directory sqllib .
| Caratteristiche desiderate | Tabelle explain | db2expln | db2exfmt | procedura EXPLAIN_FORMAT |
|---|---|---|---|---|
| Output testo | Sì | Sì | Sì | |
Quick and dirtyanalisi SQL e XQuery statiche |
Sì | Sì | ||
| Supporto SQL statico e XQuery | Sì | Sì | Sì | Sì |
| Supporto SQL dinamico e XQuery | Sì | Sì | Sì | Sì |
| Supporto applicazione CLI | Sì | Sì | Sì | |
| Disponibile per i richiedenti applicazione DRDA | Sì | Sì | ||
| Informazioni dettagliate sull'ottimizzatore | Sì | Sì | Sì | |
| Adatto per l'analisi di più istruzioni | Sì | Sì | Sì | Sì |
| Le informazioni sono accessibili dall'interno di una applicazione | Sì | Sì |
Oltre a questi strumenti, è possibile utilizzare IBM Data Studio La versione 3.1 o successiva consente di generare un diagramma del piano di accesso corrente per le istruzioni SQL o XPATH. Per ulteriori dettagli, vedi Diagnostica dei piani di accesso con Visual Explain.
Visualizzazione delle statistiche di catalogo in vigore al momento dell'explain
La funzione explain acquisisce le statistiche in vigore quando un'istruzione viene spiegata. Queste statistiche potrebbero essere diverse da quelle memorizzate nel catalogo di sistema, soprattutto se è abilitata la raccolta delle statistiche in tempo reale. Se le tabelle explain sono popolate, ma non è stata creata un'istantanea explain, solo alcune statistiche vengono registrate nella tabella EXPLAIN_OBJECT.
Per acquisire tutte le statistiche di catalogo rilevanti per l'istruzione di cui si sta eseguendo l'explain, creare un'istantanea explain nello stesso momento in cui si stanno popolando le tabelle explain, quindi utilizzare SYSPROC.EXPLAIN_FORMAT_STATS per formattare le statistiche del catalogo nell'istantanea.
Se lo strumento db2exfmt viene utilizzato per formattare le informazioni explain ed è stata raccolta un'istantanea explain, lo strumento utilizza automaticamente SYSPROC.EXPLAIN_FORMAT_STATS per visualizzare le statistiche del catalogo.