MySQL 8.4 发行说明
要合并碎片化的行并消除因删除或更新行而浪费的空间,请在恢复模式下运行 myisamchk
$> myisamchk -r tbl_name
您可以使用 OPTIMIZE TABLE
SQL 语句以相同的方式优化表。OPTIMIZE TABLE
执行表修复和键分析,并对索引树进行排序,以便更快地查找键。由于在使用 OPTIMIZE TABLE
时,服务器会完成所有工作,因此也不可能出现实用程序和服务器之间不必要的交互。参见 第 15.7.3.4 节“OPTIMIZE TABLE 语句”。
myisamchk 有许多其他选项可用于提高表的性能
--analyze
或-a
:执行键分布分析。这可以通过使连接优化器能够更好地选择连接表的顺序以及应该使用的索引来提高连接性能。--sort-index
或-S
:对索引块进行排序。这可以优化查找并加快使用索引的表扫描速度。--sort-records=
或index_num
-R
:根据给定索引对数据行进行排序。这将使您的数据更加本地化,并可能加快使用此索引的基于范围的index_num
SELECT
和ORDER BY
操作的速度。
有关所有可用选项的完整说明,请参见 第 6.6.4 节“myisamchk — MyISAM 表维护实用程序”。