MyISAMの大きなテーブルをmyisamchkするとエラーになる場合の備忘録
sennaのインデックスファイルを再構築にチャレンジ。
インデックスをつくりなおす
mysql> ALTER TABLE hoge DROP KEY `hoge_key`; mysql> ALTER TABLE hoge ADD FULLTEXT KEY `hoge_key` USING MECAB, NORMALIZE, SECTIONALIZE, 2048 (`hoge`,`fuga`);
インデックスのCardinalityを再計算したい。
mysql> SHOW INDEX FROM tablename;
下記コマンドを実行
% sudo myisamchk -r /data/dbname/table_name.MYI
で、大きなデータを扱うとこうなった
myisamchk: error: myisam_sort_buffer_size is too small
こうした
% sudo myisamchk --safe-recover -rq --sort_buffer_size=2024M /data/dbname/table_name.MYI