Documentation Home
MySQL 8.4 Reference Manual
Related Documentation Download this Manual
PDF (US Ltr) - 39.8Mb
PDF (A4) - 39.9Mb
Man Pages (TGZ) - 257.9Kb
Man Pages (Zip) - 364.9Kb
Info (Gzip) - 4.0Mb
Info (Zip) - 4.0Mb


9.6.4 MyISAM 表优化

为了合并碎片行和消除删除或更新行所导致的空间浪费,运行myisamchk在恢复模式下:

$> myisamchk -r tbl_name

您也可以使用OPTIMIZE TABLE SQL 语句对表进行优化。OPTIMIZE TABLE 会执行表修复和键分析,并且将索引树排序,以便键查找速度更快。同时,也没有可能出现不想要的工具和服务器之间的交互,因为服务器在使用OPTIMIZE TABLE时执行所有工作。请参阅第15.7.3.4节,“OPTIMIZE TABLE 语句”

myisamchk 还有许多其他选项,您可以使用它们来提高表的性能:

  • --analyze-a:执行键分布分析。这可以提高 join 性能,因为它使 join 优化器能够更好地选择join 表的顺序和使用哪些索引。

  • --sort-index-S:对索引块进行排序。这优化了 seeks,并使使用索引的表扫描速度更快。

  • --sort-records=index_num-R index_num:根据给定的索引对数据行进行排序。这使得您的数据更加局部化,并可能加速使用该索引的范围基于SELECTORDER BY 操作。

所有可用选项的完整描述,请见第6.6.4节,“myisamchk — MyISAM 表维护工具”