Database  »  Articoli  »  MySQL 

Velocizzare i risultati delle query MySQL

di: Claudio Garau     10 Aprile 2007

L'entità delle interrogazioni che vengono lanciate ad un database possono incidere in modo rilevante sulle performance di un server. Per la soluzione degli input sono infatti necessarie risorse, quindi, maggiore sarà il numero delle richieste più elevato sarà il consumo di risorse da parte del sistema per la loro soddisfazione.

In condizioni di alto traffico questo fattore può essere all'origine di rallentamenti e ritardi nel caricamento delle pagine web; lo scopo di questo articolo, è quello di dimostrare con semplici esempi che le soluzioni ai rallentamenti non devono essere ricercate necessariamente nell'acquisto di una configurazione server superiore, ma più economicamente nell'ottimizzazione delle tabelle coinvolte dalle interrogazioni.

MySQL mette a disposizione alcuni strumenti utili a questo fine, nelle pagine che seguiranno concentreremo la nostra attenzione in particolare sugli indici.

Creazione e caratteristiche degli indici

La creazione di indici in un database MySQL permette di evitare che ogni ricerca sia preceduta da una scansione completa delle tabelle utilizzate (full table scan). L'indicizzazione è stata ideata appositamente per velocizzare l'esecuzione delle query di selezione e viene introdotta semplicemente utilizzando l'apposito comando, CREATE INDEX, seguito dal nome del campo o dei campi interessati alla generazione degli indici:

 mysql> CREATE INDEX nome_cognome ON tbl (nome,cognome);

In alternativa è possibile creare un indice anche per alterazione della tabella:

 mysql> ALTER TABLE tbl ADD INDEX nome_cognome (nome,cognome);

MySQL consente di creare fino a 16 indici all'interno di una stessa tabella, sono inoltre supportati indici su più colonne, indici multipli relativi a più colonne e indici per ricerche full-text. In pratica, con gli indici effettueremo le stesse operazioni che si svolgono comunemente in una biblioteca quando si ordinano i vari testi per titolo, autore, argomento ecc., evitando così di dover passare in rassegna tutti i libri ogni volta che si presenta la necessità di consultarne uno solo o una parte di essi.

Guide Database

Guida Access

Iniziare a sviluppare database grazie alla potenza visuale offerta...

Guida SQL Server 2005

L'RDBMS di Microsoft è uno dei più utilizzati, soprattutto in ambito...

Guida Oracle

Scoprire ed approfondire un dei più importanti RDBMS sulla scena...

Altre guide

Newsletter

Ogni settimana, in due distinte newsletter: notizie a approfondimenti su MySQL, SQLserver e Oracle.

Iscriviti alla newsletter

Altre newsletter

Corsi in aula

Corso Webmaster con PHP

01 Marzo 2010 a Milano
Disponibilità: 8 Posti

Corso Webmaster con ASP.Net

22 Marzo 2010 a Roma
Disponibilità: 7 Posti

Corso Webmaster con PHP

29 Marzo 2010 a Roma
Disponibilità: 7 Posti