mail_babir****@yahoo*****
mail_babir****@yahoo*****
2013年 4月 26日 (金) 15:03:59 JST
田辺です。 以下の手順で簡単にベンチマークできますので、一応ご報告させて頂きます。 mysqlを直接操作すると、実行時間がかなり切り捨てられてしまうので、プロファイリングを有効にして、クエリ実行後にSHOW PROFILE;してみると正確かと思います。 ・テストデータ登録 CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `main` varchar(255) NOT NULL COLLATE 'utf8_unicode_ci', PRIMARY KEY (`id`) ) ENGINE=myisam DEFAULT CHARSET=utf8; INSERT INTO `test`(`main`) VALUES ('とらっくばっく テスト'); INSERT INTO `test`(`main`) VALUES ('とらっく myisam'); INSERT INTO `test`(`main`) VALUES ('だみー nil'); INSERT INTO `test`(`main`) (SELECT `test`.`main` FROM `test`, `test` AS `t1`, `test` AS `t2`); INSERT INTO `test`(`main`) (SELECT `test`.`main` FROM `test`, `test` AS `t1`, `test` AS `t2`); ALTER TABLE `test` ADD FULLTEXT (`main`); CREATE TABLE `test2` ( `id` int(11) NOT NULL AUTO_INCREMENT, `main` varchar(255) NOT NULL COLLATE 'utf8_unicode_ci', PRIMARY KEY (`id`) ) ENGINE=mroonga DEFAULT CHARSET=utf8; INSERT INTO `test2` SELECT * FROM `test`; ALTER TABLE `test2` ADD FULLTEXT (`main`) COMMENT 'parser "TokenDelimit"'; ・ベンチマーク RESET QUERY CACHE; SELECT * FROM `test` WHERE MATCH (`main`) AGAINST ('て*' IN BOOLEAN MODE) LIMIT 1; SELECT * FROM `test2` WHERE MATCH (`main`) AGAINST ('て*' IN BOOLEAN MODE) LIMIT 1; 手元のphpMyAdmin上では、それぞれ以下の結果となりました。 クエリの実行時間 0.0005 秒 クエリの実行時間 0.0085 秒 田辺公平