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.4.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.
          
            --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.
          
For a full description of all available options, see Section 4.6.2, “myisamchk — MyISAM Table-Maintenance Utility”.


User Comments
Add your own comment.