MySQL8 全文索引

文章目录

创建索引

  之前未尝试过使用MySQL8的全文索引,今天试一试看看什么效果,否则跟不上时代了都。

  创建索引非常简单,写句SQL就行。

sql 复制代码
create table goods(
    id integer primary key auto_increment,
    name varchar(255) comment '名称',
    description text comment '描述',
    FULLTEXT idx(description)
) comment '商品';

  全文索引一建,一系列的索引表就会自动创建,这里可以按MySQL官方的做法去查一查:

sql 复制代码
select TABLE_ID, NAME, SPACE from information_schema.INNODB_TABLES where NAME like 'study/%';

使用索引

  现在开始,可以插入数据试试索引的使用了。

sql 复制代码
INSERT INTO study.goods (name, description) VALUES ('兰蔻塑颜紧致百肽面霜', '兰蔻塑颜紧致百肽面霜75ml保湿护肤品套装 礼盒生日礼物送女友送妈妈')

  全文索引的使用不是LIKE关键字,而是MATCH关键字,而且拆分规则是空格键拆分。比如我下面的查询语句是可以查到内容的:

sql 复制代码
select * from goods where match(description) against('礼盒生日礼物送女友送妈妈');

  但是如果我使用生日礼物就查询不到内容了,如:

sql 复制代码
select * from goods where match(description) against('礼盒生日礼物');

  这样的查询结果就是空的了。

  所以MySQL8的全文索引对中文的支持并不太好。

总结

  MySQL8的全文索引,英文程序用用还是可以的,但是中文项目就算了吧,不能自己定义分词器,只能配置个停用词stopword,反正我在项目中是不会使用的。

相关推荐
z06.3 小时前
MySQL索引
数据库·mysql
CCIE-Yasuo6 小时前
网络安全-学习数据库-Mysql-2
数据库·学习·mysql
这个DBA有点耶8 小时前
云数据库半夜卡顿,CPU才30%?深挖云盘IOPS突发限制与内核挂起机制
数据库·mysql·云原生
xixingzhe211 小时前
MySQL 锁表故障排查与处理
数据库·mysql
真上帝的左手12 小时前
30. 技术专题-‌应用框架组件-关系型数据库-MySQL-Mybatis
数据库·分布式·mysql·中间件·mybatis
为思念酝酿的痛12 小时前
MySQL表的连接
数据库·mysql
bksczm13 小时前
MySQL之存储引擎
数据库·mysql
计算机毕设定制辅导-无忧学长13 小时前
《基于微信小程序健康习惯激励系统设计与实现》
java·spring boot·mysql·微信小程序·uniapp·健康习惯激励系统
Decay__14 小时前
15_MySQL 数据同步与迁移方案 —— 复制 / DataX / Canal / 异构同步(对标 Oracle GoldenGate)
运维·数据库·sql·mysql·架构
雪芽蓝域zzs15 小时前
第 2 章:整合 MySQL + MyBatis,搭建数据库基础、实体类、Mapper、测试查询
数据库·mysql·mybatis