本節討論如何使用 myisamchk 來檢查或修復 MyISAM
資料表 (具有 .MYD
和 .MYI
檔案以儲存資料和索引的資料表)。如需 myisamchk 的一般背景資訊,請參閱第 6.6.4 節,「myisamchk — MyISAM 資料表維護工具」。其他資料表修復資訊可參閱 第 3.14 節,「重建或修復資料表或索引」。
您可以使用 myisamchk 來檢查、修復或最佳化資料庫資料表。以下章節說明如何執行這些操作,以及如何設定資料表維護排程。如需使用 myisamchk 取得資料表相關資訊,請參閱 第 6.6.4.5 節,「使用 myisamchk 取得資料表資訊」。
雖然使用 myisamchk 進行資料表修復相當安全,但始終建議在進行修復或任何可能對資料表進行大量變更的維護操作之前先進行備份。
影響索引的 myisamchk 操作可能會導致以與 MySQL 伺服器所用值不相容的全文字參數重建 MyISAM
FULLTEXT
索引。為避免此問題,請遵循 第 6.6.4.1 節,「myisamchk 一般選項」中的指南。
MyISAM
資料表維護也可以使用 SQL 陳述式完成,這些陳述式執行類似於 myisamchk 可以執行的操作。
若要檢查
MyISAM
資料表,請使用CHECK TABLE
。若要修復
MyISAM
資料表,請使用REPAIR TABLE
。若要最佳化
MyISAM
資料表,請使用OPTIMIZE TABLE
。若要分析
MyISAM
資料表,請使用ANALYZE TABLE
。
如需關於這些陳述式的其他資訊,請參閱第 15.7.3 節,「資料表維護陳述式」。
這些陳述式可以直接使用,也可以透過 mysqlcheck 用戶端程式使用。相較於 myisamchk,這些陳述式的一個優點是伺服器會完成所有工作。使用 myisamchk 時,您必須確保伺服器不會同時使用這些資料表,以免 myisamchk 和伺服器之間發生不必要的互動。