MySQL 全文索引 FULLTEXT INDEX

it2025-08-23  1

MySQL全文检索是利用查询关键字和查询列内容之间的相关度进行检索,可以利用全文索引来提高匹配的速度。在MySQL5.6以下,只有MyISAM表支持全文检索。在MySQL5.6以上Innodb引擎表也提供支持全文检索。

建表插入数据

建立测试表

CREATE TABLE `test` ( `id` int(11) NOT NULL AUTO_INCREMENT, `content` text, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;

添加全文索引

ALTER TABLE `test`.`test` ADD FULLTEXT INDEX (`content`);

添加内容

添加10W的长篇文章

修改数据

随机修改一条数据的内容,把文章最后的“空气常新的美丽中国”改为“空气常新的美丽国家”

常规like与全文索引对比

常规like

explain select * from test where content like '%空气常新的美丽国家%'

关于explain的使用请查看:Mysql语句性能分析-EXPLAIN

全文索引 match(字段) against(‘要搜索的关键字’)

explain select * from test where match(content) against('空气常新的美丽国家')

最新回复(0)