MYSQL最适合用于小型运用的开发。遇到了单表上百万记录。用select * from xxx where xxx like '%xxx%';去查询,结果效率低到难以忍受。五十万条记录竟然用了三十秒才出结果!这对于任何运用都是没办法忍受的。对应大数据量查询的时候,很多数据库是支持全文检索的。
首先我的表默认是:innoDB,这种表的类型不支持全文检索,所以要先改变其类型为MyISAM。
然后要在对应的要进行查找的字段上面建立全文检索的索引:
alter table add fulltext index(xxx);
如果要同时对多个字段进行检索可以这样:
alter table add fulltext index(xxx,xxxx);
这样做好以后呢,就可以对表进行全文检索了,速度提升是飞一般的感觉啊!现在的结果是秒出啊。可以这样去检索字段:
select * from xxx where match(xxx) against('nnn') ;
或者多字段:
select * from song where match(xxx,xxx) against('nnn');