17.3.3. Maintenance of Partitions
A number of partitioning maintenance tasks can be carried out in
MySQL 5.1. MySQL does not support the commands
ANALYZE TABLE, or
REPAIR TABLE for partitioned tables. Instead,
you can use a number of extensions to
TABLE which were implemented in MySQL 5.1.5. These can
be used for performing operations of this type on one or more
partitions directly, as described in the following list:
Rebuilds the partition; this has the same effect as dropping
all records stored in the partition, then reinserting them.
This can be useful for purposes of defragmentation.
ALTER TABLE t1 REBUILD PARTITION p0, p1;
Optimizing partitions: If
you have deleted a large number of rows from a partition or
if you have made many changes to a partitioned table with
variable-length rows (that is, having
TEXT columns), you can use
TABLE ... OPTIMIZE PARTITION to reclaim any unused
space and to defragment the partition data file.
ALTER TABLE t1 OPTIMIZE PARTITION p0, p1;
OPTIMIZE PARTITION on a given
partition is equivalent to running
REPAIR PARTITION on that partition.
Analyzing partitions: This
reads and stores the key distributions for partitions.
ALTER TABLE t1 ANALYZE PARTITION p3;
Repairing partitions: This
repairs corrupted partitions.
ALTER TABLE t1 REPAIR PARTITION p0,p1;
Checking partitions: You
can check partitions for errors in much the same way that
you can use
CHECK TABLE with
ALTER TABLE trb3 CHECK PARTITION p1;
This command will tell you if the data or indexes in
p1 of table
t1 are corrupted. If this is the case,
ALTER TABLE ... REPAIR PARTITION to
repair the partition.
You can also use the mysqlcheck or
myisamchk utility to accomplish these tasks,
operating on the separate
generated by partitioning a table. See
Section 8.9, “mysqlcheck — A Table Maintenance and Repair Program”.