mysql:用like进行模糊查询时尽量避免用通配符%开头

在mysql中,用like进行模糊查询,如果以通配符%开头,可能会使索引失效,所以应该尽量避免。

例如,执行explain select * from test_table where description like '%据';查看执行计划,其中模糊查询以通配符%开头:

从输出发现,查询没有用到索引。

执行explain select * from test_table where description like '数%';查看执行计划,其中模糊查询以通配符%结尾:

从输出可以看出,查询用到了索引。

执行explain select * from test_table where description like '%据%';查看执行计划,其中模糊查询的首尾都用到了通配符%:

从输出可以看出,查询没有用到索引。

相关推荐
小王努力学编程1 分钟前
LangChain——AI应用开发框架(核心组件1)
linux·服务器·前端·数据库·c++·人工智能·langchain
麦聪聊数据31 分钟前
重构数据交付链路:基于 API 网关实现数据工程与业务分析的解耦
数据库·sql
SJLoveIT1 小时前
深度复盘:海量数据下的 SQL 优化与生命周期治理
数据库·sql
TH_11 小时前
37、SQL的Explain
java·数据库·sql
打工的小王1 小时前
Redis(二)数据类型
数据库·redis·缓存
数据与后端架构提升之路2 小时前
系统架构设计师常见高频考点总结之数据库
数据库·系统架构
xixingzhe22 小时前
MySQL CDC实现方案
数据库·mysql
云游云记2 小时前
php 防伪溯源项目:防伪码生成与批量写入实践
mysql·php·唯一字符串
tqs_123452 小时前
tcc中的空回滚和悬挂问题
java·数据库
哪里不会点哪里.3 小时前
Spring 事务机制详解:原理、传播行为与失效场景
java·数据库·spring