7.6.4 MyISAMtable 优化

要合并碎片行并消除由于删除或更新行而导致的空间浪费,请在恢复模式下运行myisamchk

shell> myisamchk -r tbl_name

您可以使用OPTIMIZE TABLE SQL 语句以相同的方式优化 table。 OPTIMIZE TABLE进行 table 修复和键分析,并对索引树进行排序,以便键查找更快。Util 和服务器之间也不会发生不必要的交互,因为当您使用OPTIMIZE TABLE时,服务器会完成所有工作。参见第 13.7.2.4 节“ OPTIMIZE TABLE 语句”

myisamchk还有许多其他选项可用于改善 table 的性能:

  • --analyze-a:执行密钥分发分析。通过使联接优化器更好地选择联接 table 的 Sequences 和应使用的索引,可以提高联接性能。

  • --sort-index-S:对索引块进行排序。这样可以优化查找,并使使用索引的 table 扫描更快。

  • --sort-records=index_num-R index_num:根据给定的索引对数据行进行排序。这使您的数据更加本地化,并可以加快使用此索引的基于范围的SELECTORDER BY操作。

有关所有可用选项的完整说明,请参见第 4.6.3 节“ myisamchk-MyISAMtable 维护 Util”