Naoya Murakami
visio****@gmail*****
2013年 12月 9日 (月) 08:33:16 JST
お世話になっております。村上です。 すいません、下記の件、追加の情報です。 検索が遅くなるパターンは、Groongaでselectをした場合のようです。 SQLでSELECTするとはやいです。 mysql> select app_id from ftext where app_id = "JP20010003153U"; +----------------+ | app_id | +----------------+ | JP20010003153U | +----------------+ 1 row in set (0.02 sec) mysql> select mroonga_command("select ftext --filter 'app_id == \"JP20010003153U\"' --output_columns app_id") as result; +-----------------------------------------------------+ | result | +-----------------------------------------------------+ | [[[1],[["app_id","ShortText"]],["JP20010003153U"]]] | +-----------------------------------------------------+ 1 row in set (1.61 sec) mysql> select mroonga_command("select ftext --query app_id:JP20010003153U --outp ut_columns app_id") as result; +-----------------------------------------------------+ | result | +-----------------------------------------------------+ | [[[1],[["app_id","ShortText"]],["JP20010003153U"]]] | +-----------------------------------------------------+ 1 row in set (1.61 sec) 以上、よろしくお願いします。 2013年12月9日 8:17 Naoya Murakami <visio****@gmail*****>: > お世話になっております。村上です。 > > 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 > > 以上、よろしくお願いします。 >