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 '%据%';查看执行计划,其中模糊查询的首尾都用到了通配符%:

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

相关推荐
TDengine (老段)2 小时前
TDengine 新功能 VARBINARY 数据类型
大数据·c语言·数据库·时序数据库·tdengine·涛思数据
山山而川粤3 小时前
母婴用品系统|Java|SSM|JSP|
java·开发语言·后端·学习·mysql
yuenblue4 小时前
什么是ondelete cascade以及使用sqlite演示ondelete cascade使用案例
数据库·sqlite
howard_shooter4 小时前
Oracle Managed Files(OMF)
数据库·oracle
yangfeipancc4 小时前
数据库-用户管理
android·数据库
fen_fen6 小时前
mysql,mariadb,postgresql创建用户和授权的命令
mysql·postgresql·mariadb
两点王爷6 小时前
Java读取csv文件内容,保存到sqlite数据库中
java·数据库·sqlite·csv
凡人的AI工具箱7 小时前
每天40分玩转Django:Django部署概述
开发语言·数据库·后端·python·django
技术路上的苦行僧7 小时前
分布式专题(9)之Mysql高可用方案
分布式·mysql·mgr·mha·mysql高可用·mmm
2401_871213308 小时前
mysql之MHA
数据库·mysql