当前位置: 首页 > article >正文

【MySQL】十三,关于MySQL的全文索引

MySQL的全文索引用于搜索文本中的关键字,类似于like查询。

演示

建表

CREATE TABLE demo (
    id INT(11) NOT NULL,
    name CHAR(30) NOT NULL,
    age INT(11) NOT NULL,
    info VARCHAR(255),
    primary key(id),
    fulltext index futxt_idx_info(info)
);

此表的默认存储引擎为InnoDB

插入数据

insert into demo values(1, 'zhansan', '23', '此人 名为张三 年龄呢 二十三岁了 至今 未婚');
insert into demo values(2, '李四', '24', '此人呢 名为李四 年龄 二十四岁了 至今 未婚');

查询结果

  • 传统使用like方式的查询
select * from demo where info like '%张三%';

在这里插入图片描述

  • 查询配置的最小搜索长度
SHOW VARIABLES LIKE '%innodb_ft_min_token_size%';

在这里插入图片描述若检索的字符串长度小于最小搜索长度,则不会被索引。

  • 全文索引使用match+against方式查询
select * from demo where match(info) against('此人');
select * from demo where match(info) against('年龄');

在这里插入图片描述上面的SQL语句由于检索的字符串长度小于最小搜索长度,所以无法查询到。

修改检索字符串,重新进行查询

select * from demo where match(info) against('年龄呢');
select * from demo where match(info) against('此人呢');

可以查询到结果
在这里插入图片描述

使用explain进行分析
在这里插入图片描述可以看到类型为:fulltext


http://www.kler.cn/a/458162.html

相关文章:

  • jangow靶机
  • 【探花交友】day01—项目介绍与环境搭建
  • 10道JavaWeb常问面试题
  • Dify服务器部署教程
  • Python中构建终端应用界面利器——Blessed模块
  • QT笔记- QTreeView + QFileSystemModel 当前位置的保存与恢复 #选中 #保存当前索引
  • 2025年我国网络安全发展形势展望
  • C语言基础学习记录-内存管理
  • TCP 为什么采用三次握手和四次挥手以及 TCP 和 UDP 的区别
  • 实用技巧:关于 AD修改原理图库如何同步更新到有原理图 的解决方法
  • 【Linux】:Linux网络协议
  • Redis 多机功能 — 复制、Sentinel及集群
  • 为什么推荐使用构造函数注入而非@Autowired注解进行字段注入
  • 如何做一款游戏
  • Vuex中dispatch的用法
  • json的作用?
  • Spring Boot教程之三十九: 使用 Maven 将 Spring Boot 应用程序 Docker 化
  • youtube下载的视频怎么保存到本地
  • 华为:数字化转型只有“起点”,没有“终点”
  • 【Golang 面试题】每日 3 题(五)