Archivi tag: table index

Ottimizzazione query My-Sql, conosciamo la Funzione EXPLAIN

Cari lettori,  dopo un lungo periodo di assenza, ho pensato in vista del nuovo anno di ritornare sul mio blog con nuovi ed interessanti articoli, che spero siano di vostro gradimento e di supporto per tutti voi.

Cominciamo oggi con un’articolo in cui analizzeremo un grande strumento, la funzione EXPLAIN che My-Sql ci mette a disposizione per analizzare le nostre Query per poter apportare ulteriori miglioramenti, prestazionali alle stesse.

Per eseguire lo strumento basterà semplicemente digitare il comando EXPLAIN prima della query di selezione e lasciare che My-SQL lo esegua.
MySQL non eseguirà la query di selezione, ma analizzerà e visualizzeà  il risultato.

Un semplice esempio

Inizieremo con una semplice query di selezione a contare tutti i contatti di sesso maschile contenuti in una tabella Rubrica.

SELECT COUNT(*) FROM rubrica WHERE genere = 'M';
+----------+
| COUNT(*) |
+----------+
|   123456 |
+----------+
1 ROW IN SET (0.25 sec)

Ora useremo il comando EXPLAIN per ottenere le informazioni su come i dati per questa query sono ottenuti.
Esempio:

EXPLAIN SELECT COUNT(*) FROM dipendenti WHERE genere = 'M';
+----+-------------+-----------+------+---------------+------+---------+------+--------+-------------+
| id | select_type | TABLE     | TYPE | possible_keys | KEY  | key_len | REF  | ROWS   | Extra       |
+----+-------------+-----------+------+---------------+------+---------+------+--------+-------------+
|  1 | SIMPLE      | rubrica | ALL  | NULL          | NULL | NULL    | NULL | 123456 | USING WHERE |

Andiamo a dare un’occhiata per capire che cosa My-SQL ci sta dicendo.

Continua la lettura di Ottimizzazione query My-Sql, conosciamo la Funzione EXPLAIN