DROP TABLE IF EXISTS diaries;
FLUSH STATUS;
SET NAMES UTF8;
CREATE TABLE diaries (
_id INT,
id INT UNSIGNED NOT NULL,
year INT UNSIGNED,
month INT UNSIGNED,
day INT UNSIGNED,
title VARCHAR(255),
content TEXT,
FULLTEXT INDEX(content),
KEY(month),
KEY(day)
) DEFAULT CHARSET UTF8;
SHOW CREATE TABLE diaries;
Table	Create Table
diaries	CREATE TABLE `diaries` (
  `_id` int(11) DEFAULT NULL,
  `id` int(10) unsigned NOT NULL,
  `year` int(10) unsigned DEFAULT NULL,
  `month` int(10) unsigned DEFAULT NULL,
  `day` int(10) unsigned DEFAULT NULL,
  `title` varchar(255) DEFAULT NULL,
  `content` text,
  KEY `month` (`month`),
  KEY `day` (`day`),
  FULLTEXT KEY `content` (`content`)
) ENGINE=mroonga DEFAULT CHARSET=utf8
INSERT INTO diaries VALUES(NULL, 1, 2011, 11, 9, "Hello", "今日からはじめました。");
INSERT INTO diaries VALUES(NULL, 2, 2011, 11, 10, "天気", "明日の富士山の天気について");
INSERT INTO diaries VALUES(NULL, 3, 2011, 11, 11, "富士山", "今日も天気がよくてきれいに見える。");
INSERT INTO diaries VALUES(NULL, 4, 2011, 11, 12, "帰り道", "今日は天気がよくてよかった。");
INSERT INTO diaries VALUES(NULL, 5, 2011, 11, 13, "はれ", "天気がよいのは今日までみたい。");
INSERT INTO diaries VALUES(NULL, 6, 2011, 12, 1, "久しぶり", "天気が悪いからずっと留守番。");
INSERT INTO diaries VALUES(NULL, 7, 2011, 12, 2, "初雪", "今日の天気は雪！");
SELECT * FROM diaries
WHERE MATCH(content) AGAINST("今日" IN BOOLEAN MODE)
ORDER BY _id
LIMIT 1;
_id	id	year	month	day	title	content
1	1	2011	11	9	Hello	今日からはじめました。
SHOW STATUS LIKE 'mroonga_fast_order_limit';
Variable_name	Value
Mroonga_fast_order_limit	1
DROP TABLE diaries;
