The world's most popular open source database
To coalesce fragmented rows and eliminate wasted space that results from deleting or updating rows, run myisamchk in recovery mode:
shell> myisamchk -r tbl_name
You can optimize a table in the same way by using the
OPTIMIZE TABLE SQL statement.
OPTIMIZE TABLE does a table
repair and a key analysis, and also sorts the index tree so that
key lookups are faster. There is also no possibility of unwanted
interaction between a utility and the server, because the server
does all the work when you use OPTIMIZE
TABLE. See Section 12.5.2.5, “OPTIMIZE TABLE Syntax”.
myisamchk has a number of other options that you can use to improve the performance of a table:
--analyze or
-a: Perform key distribution analysis. This
improves join performance by enabling the join optimizer to
better choose the order in which to join the tables and
which indexes it should use. To obtain information about the
key
--sort-index or
-S: Sort the index blocks. This optimizes
seeks and makes table scans that use indexes faster.
--sort-records=
or index_num-R :
Sort data rows according to a given index. This makes your
data much more localized and may speed up range-based
index_numSELECT and ORDER
BY operations that use this index. (The first time
For a full description of all available options, see Section 4.6.2, “myisamchk — MyISAM Table-Maintenance Utility”.


User Comments
Add your own comment.