当前位置:首页 > SQL > 正文内容

mysql全文索引代替like查询

高老师5年前 (2021-11-09)SQL3249

之前博客的题目数据一直使用z_blog的模糊匹配,一直使用like %tiile%,有时候直接导致服务器CPU100%,于是为了走上索引改为左匹配,like title %,虽然解决了搜索性能问题,但是没有like %title%效果好,很多人搜不到。于是改为全文索引。

ALTER TABLE `think_course_question` ADD FULLTEXT  INDEX `uni_question_name` ( `question_name` ) WITH PARSER `ngram`;

添加全文索引并使用支持中文分词

mysql中配置分词数

ngram_token_size=2

mysql中配置最少搜索词数

ft_min_word_len=5

使用波尔模式,模仿like %title%

SELECT * FROM think_course_question WHERE MATCH ( question_name ) AGAINST ( '+职能型销售组织' IN BOOLEAN MODE)  LIMIT 10

为什么不用自然语言的原因是因为大部分搜题的人都是复制一整段。

扫描二维码推送至手机访问。

版权声明:本文由高久峰个人博客发布,如需转载请注明出处。

本文链接:https://blog.20230611.cn/post/358.html

分享给朋友:

“mysql全文索引代替like查询” 的相关文章

Left join,​Right join,​Inner join的区别实例讲解

Left join,​Right join,​Inner join的区别实例讲解

Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。Right join:即右连接,是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表...

mysql常用函数

mysql常用函数

1.floor(x)返回小于x的整数,向下取整,用法,商品的价格是浮点型的,需要向下取整 eg:select id,title,floor(price)  from  shopgoods2.rand()返回0-1之间的随机数 select rand() select rand()...

mysql恢复数据库,mysql数据库log文件恢复数据库

mysql恢复数据库,mysql数据库log文件恢复数据库

由于在开发中不小心删除客户上传的商品数据,客户本身也不好说话,只好恢复数据库,记录下过程。原理是数据库开启bin-log功能,然后再通过备份的bin-log进行数据库恢复。先查找备份的数据库日志二进制文件。一般在mysql的data文件夹中,文件名大概为mysql-bin.00001,具体看文件的修...

 php mysql 分页优化,mysql limit优化,mysql offset优化,mysql 最快的分页方法

php mysql 分页优化,mysql limit优化,mysql offset优化,mysql 最快的分页方法

(1).首先我们需要了解limit分页的工作流程demo:  SELECT * FROM table LIMIT 10000,5 通常我们会认为以上SQL会从10000条后面取5条,正确的是取出10005条,然后再抛弃前...

mysql全文检索,mysql使用全文索引,mysql5.7全文索引

mysql全文检索,mysql使用全文索引,mysql5.7全文索引

1.查看歌曲表结构(主要是给name字段添加全文索引)(mysql5.7才支持全中文索引)desc   music; +---------+-------------+------+-----+---------+----------------+ | Fie...

mysql like _  通配符的使用

mysql like _ 通配符的使用

_通配符只匹配单个字符。假如products表存在以下数据: 需要匹配到prod_nameprod_id  prod_name JP1000  JetPack 1000 JP2000  JetPack 2000SQL语句:  SE...