myisamchk 支援下列用於資料表檢查作業的選項
--check
,-c
命令列格式 --check
檢查資料表是否有錯誤。如果您未明確指定選擇作業類型的選項,這是預設作業。
-
命令列格式 --check-only-changed
僅檢查自上次檢查以來已變更的資料表。
--extend-check
,-e
命令列格式 --extend-check
非常徹底地檢查資料表。如果資料表有許多索引,這會相當慢。此選項僅應在極端情況下使用。通常,myisamchk 或 myisamchk --medium-check 應該能夠判斷資料表中是否有任何錯誤。
如果您使用
--extend-check
並且有充足的記憶體,將key_buffer_size
變數設定為較大的值有助於修復作業更快執行。另請參閱資料表修復選項下的此選項說明。
如需輸出格式的說明,請參閱第 6.6.4.5 節「使用 myisamchk 取得資料表資訊」。
--fast
,-F
命令列格式 --fast
僅檢查未正確關閉的資料表。
--force
,-f
命令列格式 --force
如果 myisamchk 在資料表中找到任何錯誤,則自動執行修復作業。修復類型與使用
--recover
或-r
選項指定的類型相同。--information
,-i
命令列格式 --information
列印有關所檢查資料表的資訊統計資料。
--medium-check
,-m
命令列格式 --medium-check
執行比
--extend-check
作業更快的檢查。這只會找到 99.99% 的所有錯誤,在大多數情況下應該足夠了。--read-only
,-T
命令列格式 --read-only
請勿將資料表標示為已檢查。如果您使用 myisamchk 來檢查其他應用程式(例如在停用外部鎖定的情況下執行的 mysqld)正在使用的資料表(這些應用程式未使用鎖定),這會很有用。
--update-state
,-U
命令列格式 --update-state
在
.MYI
檔案中儲存資訊,以指出資料表何時經過檢查以及資料表是否損毀。這應該用於充分利用--check-only-changed
選項,但如果 mysqld 伺服器正在使用資料表,並且您正在停用外部鎖定的情況下執行它,則不應使用此選項。