Naoya Murakami
visio****@gmail*****
2013年 12月 9日 (月) 08:17:39 JST
お世話になっております。村上です。 Mroongaにおいて、以下のような複数カラムで主キーを作った場合、 この主キーのうち1つで検索すると、検索パフォーマンスが芳しくありません。 CREATE TABLE IF NOT EXISTS `text_multi` ( `id` varchar(20) NOT NULL, `lang` varchar(2) NOT NULL, `year` int(10) NOT NULL, `text` text NOT NULL, PRIMARY KEY (`id`,`lang`,`year`), FULLTEXT INDEX `text` (`text`) ) ENGINE=mroonga DEFAULT CHARSET=utf8; INSERT INTO text_multi VALUES ("200","ja",2009,"今日は雨だ。"); % groonga /var/lib/mysql/mrn_test.mrn "select text_multi" [[0,1386544345.81022,0.00187849998474121],[[[1],[["_id","UInt32"],["_key","ShortText"],["id","ShortText"],["lang","ShortText"],["text","LongText"],["year","Int32"]],[1,"200","200","ja","今日は雨だ。",2009]]]] <質問> Mroongaで複数のカラムで主キーを作った場合は、主キーのカラムは、 インデックスを使って検索できないのでしょうか? _keyには、idのカラムのみの値が入っているように見えますが、idのみで 検索してもあまりパフォーマンスが良くありません。 別途、KEY `id` (`id`)を作ればはやく検索できそうですが、 そのようにする必要がありますか? <環境> ・MariaDB10.0.6 ・Groonga3.1.0 ・Mroonga3.10 以上、よろしくお願いします。