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,反正我在项目中是不会使用的。

相关推荐
尽兴-2 小时前
《深入剖析:全面理解 MySQL 的架构设计》
数据库·mysql·数据库架构设计·理解mysql架构
梦幻通灵2 小时前
Mysql字段判空实用技巧
android·数据库·mysql
To Be Clean Coder4 小时前
【Spring源码】getBean源码实战(三)
java·mysql·spring
IT技术分享社区4 小时前
数据库实战:MySQL多表更新JOIN操作的底层原理与性能调优指南
数据库·mysql·程序员
UrSpecial5 小时前
InnoDB存储引擎
数据库·mysql
gjc5925 小时前
MySQL隐蔽 BUG:组合条件查询无故返回空集?深度排查与规避方案
android·数据库·mysql·bug
Micro麦可乐6 小时前
分词搜索必须上Elasticsearch?试试MySQL分词查询,轻松满足大多数搜索场景的需求
大数据·mysql·elasticsearch·分词搜索·分词查询
a187927218316 小时前
MySQL 事务
数据库·mysql·事务·mvcc·acid·readview·可见性判断算法
陌路207 小时前
MYSQL事务篇--事务隔离机制
数据库·mysql
·云扬·8 小时前
MySQL Group Replication(MGR)核心特性全解析:从事务流程到一致性配置
数据库·mysql