4.5 Référence de langage d'administration de la base de données
4 Administration du serveur
Manuel de Référence MySQL 4.1 : Version Française
->Syntaxe de OPTIMIZE TABLE . Syntaxe de ANALYZE TABLE . Syntaxe de FLUSH . Syntaxe de la commande RESET . Syntaxe de KILL . Syntaxe de SHOW
|
4.5.1 Syntaxe de OPTIMIZE TABLE
OPTIMIZE TABLE tbl_name[,tbl_name]...
|
OPTIMIZE TABLE
doit être utilisée si une grande partie de la base
a été effacée, ou si vous avez fait de nombreuses modificaitons dans une
table à format de ligne dynamique (des tables qui ont des colonnes de
type
VARCHAR
,
BLOB
et
TEXT
).
Les lignes effacées sont conservées dans une liste, et les prochaines opérations
d'
INSERT
réutilisent les vieilles positions de lignes. Vous pouvez vous servir de
la commande
OPTIMIZE TABLE
pour récupérer l'espace utilisé et défragmenter
le fichier de données.Pour le moment,
OPTIMIZE TABLE
fonctionne uniquement avec les tables de type
MyISAM
et
BDB
. Pour les tables
BDB
,
OPTIMIZE TABLE
est
actuellement l'équivalent de
ANALYZE TABLE
.
Syntaxe de
ANALYZE TABLE
.
Vous pouvez vous arranger pour que
OPTIMIZE TABLE
fonctionne sur d'autres types
de tables, en démarrant
mysqld
avec
--skip-new
ou
--safe-mode
, mais
dans ce cas,
OPTIMIZE TABLE
est simplement l'équivalent de
ALTER TABLE
.
OPTIMIZE TABLE
fonctionne comme ceci :
-
Si la table contient des lignes effacées ou des lignes fragmentées,
la table est compactée.
-
Si les pages d'index ne sont pas triées,
OPTIMIZE TABLE
les trie.
Si les statistiques ne sont pas à jour (et que la table n'a pas pu
effectuer de réparation en triant l'index), elles sont mises à jour.
OPTIMIZE TABLE
pour les tables
MyISAM
est l'équivalent de
la commande
myisamchk --quick --check-only-changed --sort-index --analyze
sur la table.
Notez que la table est verrouilée durant la commande
OPTIMIZE TABLE
.
|