已经在在数据库表中建了相应的fulltext索引,大概有10W来条数据,但是发现使用match against查询时需要0.x秒,如果进行字段排序则更加慢了,需要x.x秒,而使用like模糊查询时只需要0.0x秒,这样的话模糊搜索反而快了不少。 我在网上找的资料都是说fulltext搜索比用like快,为什么我的情况相反呢?在mysql 5.0.x和5.1.x版本上都试过,都是这样的情况!!!
调试欢乐多
CREATE TABLE `search` (
`id` int(11) NOT NULL auto_increment,
`data` text,
`tag` text,
`type` tinyint(1) unsigned default '0',
`fid` int(11) unsigned NOT NULL,
PRIMARY KEY (`id`),
KEY `type` (`type`),
FULLTEXT KEY `tag` (`tag`)
) ENGINE=MyISAM
(4088 row(s) returned)
Execution Time : 00:00:00:000
Transfer Time : 00:00:00:063
Total Time : 00:00:00:063
*使用fulltext查询:SELECT * FROM search WHERE `type` =2 AND MATCH(`tag`) AGAINST('房' IN BOOLEAN MODE);
(4088 row(s) returned)
Execution Time : 00:00:00:093
Transfer Time : 00:00:00:563
Total Time : 00:00:00:656这里的tag字段其实就是把data字段的内容分词之后的内容。