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

mysql全文索引代替like查询

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

之前博客的题目数据一直使用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数据库log文件恢复数据库

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

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

三大范式通俗解释,数据库三大范式通俗解释

三大范式通俗解释,数据库三大范式通俗解释

概述: 目前我们的表设计,最高级别的范式是6NF,对于PHP程序员而言,我们的表满足3NF即可(范式即规范)【一】1NF    (1).所谓1NF,就是指标的属性具有原子性,即表的列不能再分割,不能分割意思是字段本身的含义(例如address字段不能再分割)...

mysql 自定义排序,mysql 自定义字段排序,mysql 强制自定义排序

mysql 自定义排序,mysql 自定义字段排序,mysql 强制自定义排序

通常我们使用自定义排序的语法是:ORDER BY FIELD(`字段名称`, 值1, 值2, 值3),但是如果我想强制值1到值3永远在前面,这个语法是满足不了的.(1).基本的会员数据表:id      name  &n...

mysql like _  通配符的使用

mysql like _ 通配符的使用

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

mysql聚集多个函数

mysql聚集多个函数

从产品表中统计表中的:记录条数,最小价格,最大价格,平均值SELECT COUNT(*) AS num_items, MIN(prod_price) AS price_min, MAX(prod_price) AS price_max...