EXPLAIN ANALYZE

Questa pagina contiene la documentazione preliminare per l'istruzione EXPLAIN ANALYZE.

Questa pagina descrive una funzionalità ancora in sviluppo. La funzionalità non è ancora stata rilasciata (nemmeno in beta), la sua interfaccia e il suo funzionamento potrebbero cambiare, etc.

EXPLAIN ANALYZE

EXPLAIN ANALYZE SELECT differisce da EXPLAIN perché esegue realmente la query ma stampa l'output di EXPLAIN. I numeri stimati sono accompagnati dai numeri effettivi riscontrati durante l'esecuzione.

explain analyze select * from tbl where key1 between 5000 and 5050 and col1='val-1'\G
*************************** 1. row ***************************
           id: 1
  select_type: SIMPLE
        table: tbl
         type: range
possible_keys: key1
          key: key1
      key_len: 5
          ref: NULL
        loops: 1
         rows: 51
       r_rows: 51
     filtered: 100.00
   r_filtered: 33.33
        Extra: Using index condition; Using where
1 row in set (0.00 sec)

Si notino le colonne aggiuntive:

  • loops - Quante volte l'accesso alla tabella è stato invocato. Se la query non è una join, è 1.
  • r_rows - La controparte "reale" della colonna rows. Mostra quanti record sono stati restituiti dal metodo di accesso (nell'esempio sopra, dall'accesso range).
  • r_filtered - La controparte "reale" della colonna filtered. Indica la frazione di record rimasti dopo che la condizione "Using where" è stata applicata. (Nell'esempio sopra, l'ottimizzatore non è in grado di effetturare una stima e assume pessimisticamente che nessun record verrà filtrato (filtered=100), mentre nella realtà è filtrato il 66% dei record, lasciandone il 33%)

Note

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.