赞
踩
查询操作在数据量比较少时,可以使用like模糊查询,但是对于大量的文本数据检索,效率很低。如果 使用全文索引,查询速度会比like快很多倍。
在MySQL 5.6 以前的版本,只有MyISAM存储引擎支持全 文索引,从MySQL 5.6开始MyISAM和InnoDB存储引擎均支持。
创建全文索引的方法如下:
CREATE FULLTEXT INDEX ON tablename (字段名);
ALTER TABLE tablename ADD FULLTEXT [索引的名字] (字段名);
CREATE TABLE tablename ( [...], FULLTEXT KEY [索引的名字] (字段名) ;
和常用的like模糊查询不同,全文索引有自己的语法格式,使用 match 和 against 关键字,比如
select * from anmial where match(name) against('bb');
全文索引使用注意事项:
(1)全文索引必须在字符串、文本字段上建立。
(2)全文索引字段值必须在最小字符和最大字符之间的才会有效。(innodb:3-84;myisam:4- 84)
(3)全文索引字段值要进行切词处理,按syntax字符进行切割,例如b+aaa,切分成b和aaa 全文索引匹配查询,默认使用的是等值匹配,例如a匹配a,不会匹配ab,ac。如果想匹配可以在布 尔模式下搜索a*
select * from anmial where match(name) against('a*' in boolean mode);
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。