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

mysql怎样优化where like ‘%字符串%‘这种模糊匹配的慢sql

一 问题描述

工作中经常遇到这种模糊匹配的慢sql:

select * from 表名 where 字段 like '%字符串%';

由于前面有%,导致无法走该字段上的索引。

二 解决办法

① 给该字段创建一个全文索引

CREATE FULLTEXT INDEX 索引名 ON 表名 (字段名);

② 改写sql,使用匹配全文索引的语法

SELECT *

FROM 表名

WHERE MATCH(字段名) AGAINST('字符串' IN NATURAL LANGUAGE MODE);

相关文章:

  • ODE卷-可以处理的最大任务数(200分)
  • [记录贴] 火绒奇怪的进程保护
  • Cherry Studio + 火山引擎 构建个人AI智能知识库
  • 操作系统:设备与I/O管理
  • springboot浅析
  • 打印九九乘法表
  • 【Docker】使用Docker搭建-MySQL数据库服务
  • 31.C++多态4(静态多态,动态多态,虚函数表的存储位置)
  • 使用 kubeadm 创建高可用 Kubernetes 及外部 etcd 集群
  • 基于Spring Boot的产业园区智慧公寓管理系统设计与实现(LW+源码+讲解)
  • C++ 红黑树万字详解(含模拟实现(两种版本))
  • qt QProgressBar总结
  • `pip install .` 的作用详解:从当前目录安装Python包
  • 短连接服务器压测-wrk
  • 【缓存】缓存雪崩与缓存穿透:高并发系统的隐形杀手
  • IDEA 2024.1 最新永久可用(亲测有效)
  • redis序列化设置
  • 使用vscode导出Markdown的PDF无法显示数学公式的问题
  • 【R包】pathlinkR转录组数据分析和可视化利器
  • PyInstaller 打包python 程序 成 可执行文件
  • 从《让·桑特伊》到《追忆》,假故事的胜利
  • AI含量非常高,2025上海教育博览会将于本周五开幕
  • 巴方:印度上周导弹袭击造成至少40名平民死亡
  • 中拉论坛部长级会议为何悬挂海地和圣卢西亚的国旗?外交部回应
  • 王毅人民日报撰文:共商发展振兴,共建中拉命运共同体
  • 男子退机票被收90%的手续费,律师:虽然合规,但显失公平