Added “optimize” action to optimize every table in the db
This commit is contained in:
parent
d4de4675ec
commit
e7ec2eba39
1 changed files with 25 additions and 0 deletions
|
@ -23,6 +23,7 @@ $opts=array(
|
|||
'setblack'=>false,
|
||||
'shuffle'=>false,
|
||||
'updstats'=>false,
|
||||
'optimize'=>false,
|
||||
'deadline'=>60*24*60*60,// se un'istanza non risponde da 60 giorni dichiararla morta
|
||||
'newline'=>30*24*60*60,// se un'istanza è nuova, dopo 30 giorni non lo è più
|
||||
);
|
||||
|
@ -42,6 +43,8 @@ $help='mustool.php
|
|||
Randomizza la lista delle istanze (i valori della colonna RPos).
|
||||
updstats
|
||||
Aggiorna le statistiche sul sito.
|
||||
optimize
|
||||
Ottimizza le tabelle del database.
|
||||
OPZIONI
|
||||
-h, --help
|
||||
Mostra questo aiuto ed esce.
|
||||
|
@ -75,6 +78,9 @@ for ($i=1; $i<$argc; $i++) {
|
|||
} elseif ($argv[$i]=='updstats') {
|
||||
$dosome=true;
|
||||
$opts['updstats']=true;
|
||||
} elseif ($argv[$i]=='optimize') {
|
||||
$dosome=true;
|
||||
$opts['optimize']=true;
|
||||
} else {
|
||||
mexit('«'.$argv[$i].'» non è un’azione conosciuta (usa «-h» per vedere la guida).'.N,1);
|
||||
}
|
||||
|
@ -197,8 +203,27 @@ if ($opts['updstats']) {
|
|||
echo('fatto! (righe inserite: '.$inserts.')'.N);
|
||||
}
|
||||
|
||||
if ($opts['optimize']) {
|
||||
echo('Ottimizzo le tabelle del database...'.N);
|
||||
$res=mysqli_query($link,'SHOW TABLES') or mexit(__LINE__.': '.mysqli_error($link).N,2);
|
||||
while ($row=mysqli_fetch_row($res)) {
|
||||
$rres=mysqli_query($link,'OPTIMIZE TABLE '.$row[0]) or mexit(__LINE__.': '.mysqli_error($link).N,2);
|
||||
$rrow=mysqli_fetch_assoc($rres);
|
||||
if ($rrow['Msg_type']=='error' || $rrow['Msg_type']=='warning')
|
||||
fwrite(STDERR,kimplode($rrow).N);
|
||||
}
|
||||
echo('Fatto!'.N);
|
||||
}
|
||||
|
||||
mysqli_close($link);
|
||||
|
||||
exit(0);
|
||||
|
||||
function kimplode(&$arr) {
|
||||
$buf=[];
|
||||
foreach ($arr as $key=>$val)
|
||||
$buf[]=$key.': '.$val;
|
||||
return(implode('; ',$buf));
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
Loading…
Reference in a new issue