100万条数据,UTF-8编码,做搜索的字段title是文章标题,大都是纯中文,少数夹有英文。
目前采用的格式是varchar(500),max(CHAR_LENGTH)是332,平均是73
现在需求是对title进行频繁的单一关键字搜索,用where title like '%关键字%' 每次检索要花5秒左右时间,太慢了请问高手最效率的方案是

解决方案 »

  1.   

    #使用全文索引试下
    ALTER TABLE 表名 ADD FULLTEXT(title);#查询
    SELECT * FROM 表名 WHERE MATCH(title) AGAINST('关键字');
      

  2.   

    Don't use full text search!Just increase your system variable named read_buffer_size!
      

  3.   

    我一个虚拟主机用户恐怕没有权限改...目前我能想到方案一是做一个定长的CHAR(100)字段,牺牲掉长标题的后面部分,还是用like来搜
    方案二是写个程序用这一百万条标题做语料,分出一个词库出来...
      

  4.   

    新建一个字段fulltitle作为全文检索字段,将title二元分词后的unicode编码存入fulltitle里,查询 
    SELECT * FROM 表名 WHERE MATCH(fulltitle) AGAINST('7f574f2f 4f2f65af 12 87 78345218 52187fd4 7fd47eaa 7eaa5f55');
      

  5.   

    fulltitle 支持中文搜索么?
      

  6.   

    谁能给点关于 fulltitle 的详细教程之类??我新手