| 變量 | 含義 |
| key _ buffer _ s i z e | 用于存放索引塊的緩沖區大小 |
| r e a d _ buffer _ s i z e | 讀操作用的緩沖區大小 |
| sort _ buffer _ s i z e | 排序用的緩沖區大小 |
| w r i t e _ buffer _ s i z e | 寫操作用的緩沖區大小 |
要想查看任一個程序使用的這些變量的缺省值,可用--help 選項運行該程序。要想指定其他的值,可在該命令上使用--set-variable variable=value 或-o variable=value。您可以將變量的名字簡化成key、r e a d、sort 和w r i t e。例如,可告訴myisamchk 使用16mb 的排序緩沖區和1mb 的讀寫緩沖區,其調用如下:
% myisamchk -0 sort=16m -0 read=1m write=1m ...
sort _ buffer_size 只能利用--recover 選項來使用(而不是利用- - s a f e _ r e c o ver),在這種情況下,key _ buffer 不能使用。
減少服務器的停機時間
防止服務器訪問(您正在處理的)表的另一種方法是在數據目錄的外面使用該表文件的拷貝。這樣并不能消除交互作用的問題,因為仍然必須防止服務器訪問(并可能修改)正在進行拷貝的表。但是,如果您不愿意使服務器脫機的話,該路線可能是使服務器停機時間最小化的一種方法,這對您是有吸引力的。在將該表的文件拷貝到另一個目錄時關閉服務器,然后恢復服務器。
myisamchk 的未來打算
myisamchk 的表檢查和修復功能打算在mysql3.23 版本系列的某個時候被合并到服務器中。如果這種打算實現,對表的檢查和修復將更容易,因為服務器與my i s a m c h k的交互問題將不再會出現。
同樣,您能夠告訴服務器在啟動時檢查表,因此在啟動服務器前將不需要設置任何特殊的命令在引導期間執行。該程序不對isam 表進行操作,因此在服務器獲得表的檢修復能力時,應考慮將isam 表轉換成myisam 表。請查看新發行版的mysql參考指南,了解在此范圍內有什么新進展。可以用alter table 語句轉換表的類型:
alter table tbl_name type=myisam
新聞熱點
疑難解答