Ajout d'infos pour OPTIMIZE TABLE
This commit is contained in:
parent
074c462ee0
commit
13087a40f3
|
@ -622,18 +622,11 @@ On peut aussi réparer qu'une base en particulier :
|
|||
|
||||
> *Note* : ceci peut être à faire en cas d'arrêt inopiné du service.
|
||||
|
||||
On pourra également ajouter l'option `--optimize` pour ajouter une optimisation des tables :
|
||||
|
||||
~~~
|
||||
# mysqlcheck --auto-repair --check --optimize --all-databases
|
||||
~~~
|
||||
|
||||
Pour réparer une seule table :
|
||||
|
||||
~~~{.sql}
|
||||
mysql> CHECK TABLE foo.bar;
|
||||
mysql> REPAIR TABLE foo.bar;
|
||||
mysql> OPTIMIZE TABLE foo.bar;
|
||||
~~~
|
||||
|
||||
Dans le cas des tables MyISAM, si le REPAIR échoue, une réparation est aussi possible via `myisamchk`… à faire avec
|
||||
|
@ -649,6 +642,28 @@ En cas d'échec (*segfault* par exemple), on peut tenter :
|
|||
# myisamchk --safe-recover -v -f --key_buffer_size=512M --sort_buffer_size=512M --read_buffer_size=4M --write_buffer_size=4M /var/lib/mysql/BASE/TABLE.MYD
|
||||
~~~
|
||||
|
||||
### OPTIMIZE
|
||||
|
||||
Il est conseillé de lancer régulièrement la commande `OPTIMIZE TABLE` sur ses tables.
|
||||
Cela va réaliser une sorte de défragmentation des tables, notamment sur les indexes.
|
||||
C'est particulièrement recommandé sur les tables qui subissent beaucoup de changement, notamment des modifications/suppressions de lignes.
|
||||
|
||||
Voici comment on lance l'opération sur une table :
|
||||
|
||||
~~~{.sql}
|
||||
mysql> OPTIMIZE TABLE foo.bar;
|
||||
~~~
|
||||
|
||||
On peut également lancer cela sur l'ensemble des tables d'une base (mais cela peut être très long) :
|
||||
|
||||
~~~
|
||||
# mysqlcheck --optimize --all-databases
|
||||
~~~
|
||||
|
||||
> *Note* : lors d'un OPTIMIZE TABLE, la table est lockée.
|
||||
|
||||
Suivant le moteur utilisé pour une table, les opérations vont être différentes. Notamment pour le moteur *InnoDB* vous aurez un message du type `Table does not support optimize, doing recreate + analyze instead` et une table temporaire sera complètement recréée et remplacera l'ancienne (attention à l'espace disque !).
|
||||
|
||||
### routines MySQL
|
||||
|
||||
~~~{.sql}
|
||||
|
|
Loading…
Reference in New Issue