mroongaでEUCを使うとALTER TABLE出来ない??

ここ最近、mroongaというMySQL用の全文検索エンジンを使って色々検証しているのですが、文字コードにEUC(というかUJIS)を使うとどうも挙動が怪しいです。

一番困ったのがALTER TABLEを実行するとインデックスが壊れてしまう点で、

  1. ALTER TABLE … DISABLE KEYS;
  2. ALTER TABLE … ENABLE KEYS;

と連続で実行するだけで検索不能になります@バージョン2.08。

groonga.logを見ると

invalid utf8 string(1) on grn_str_charlen_utf8

というエラーがモリモリ出ているので、どうもALTER TABLEがUTF8と決めうちで実行されている気がします。

他にもテーブルがUJISでもDBがUTF8で作られていると駄目とか細かい制限があるようで、UTF8の方が気軽に使えて何かと便利っぽいですねぇ・・・。

MySQLにしてもmroongaにしてもデフォルトの文字コードはUTF-8なので、UJISにはあまり力を入れてないということなんでしょうか?

※2012/11/28追記

ストレージモードでなく、InnoDBのラッパーモードで動かしてみたら問題なくALTER TABLE出来ました。

ただ一度ストレージモードの高速さを体感してしまうと、ラッパーモードという選択はしたくないなぁ・・・。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

スポンサーリンク