Analyze:
La funzione
ANALAYZE consente di analizzare e memorizzare la distribuzione delle chiavi che regolano una o più tabelle in un preciso momento.
Tale procedimento è utilizzato per ottimizzare le operazioni di join.
Cosa sono le chiavi?
Chiave primaria: La chiave primaria di una tabella MySql è quel dato che riesce ad identificare univocamente ogni riga della tabella stessa.
Chiave esterna: Una chiave esterna stabilisce una relazione tra una o più colonne di una tabella e una chiave primaria o univoca di un'altra tabella.
Sintassi:
$sql = 'ANALYZE TABLE `tabella`';
Il risultato genera una variabile resource contenete le seguenti variabili:
- Table Il nome della tabella
- Op Sempre analyze
- Msg_type Error, info o warning
- Msg_text messaggio
Sintassi ed esempio:
La variabile generata dall'istruzione ANALYZE può essere utilizzata anche in script.
Vediamo un esempio per capire in concreto il suo utilizzo:
$link = mysql_connect($host,$user,$password);//variabili di collegamento
$dbase="nometuodatabase";
$tablenome="nometuatabella";
$analyze=mysql_db_query($dbase,"ANALYZE TABLE ".$tablenome." ",$link) or die(mysql_error());
$table = mysql_result($analyze,0,"table");
$op = mysql_result($analyze,0,"op");
$msg_type = mysql_result($analyze,0,"msg_type");
$msg_text = mysql_result($analyze,0,"msg_text");
echo "
- ".$table."<br />
- ".$op."<br />
- ".$msg_type."<br />
- ".$msg_text."<br />";
Se applichiamo questa query ad una tabella di esempio, otteniamo come risultato:
- allweb_database_a.directory
- analyze
- status
- Table is already up to date