MyISAM表优化

来自泡泡学习笔记
跳到导航 跳到搜索

为了合并碎片化的行并消除由于删除或更新行而产生的空间浪费,请在恢复模式下运行myisamchk:

$> myisamchk -r tbl_name


您也可以使用OPTIMIZE TABLE SQL语句以同样的方式优化表。OPTIMIZE TABLE会进行表修复和键分析,并对索引树进行排序,以加快键查找速度。由于服务器在使用OPTIMIZE TABLE时完成所有工作,因此不会出现与实用程序之间的不必要交互。


myisamchk还有其他一些选项,您可以使用这些选项来提高表的性能:

  • --analyze或-a:执行键分布分析。这通过使连接优化器能够更好地选择表的连接顺序和使用的索引,从而提高连接性能。
  • --sort-index或-S:对索引块进行排序。这优化了查找操作,使使用索引的表扫描更快。
  • --sort-records=index_num或-R index_num:根据给定的索引对数据行进行排序。这使得您的数据更加本地化,并可能加快使用此索引的基于范围的SELECT和ORDER BY操作的速度。