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

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

相关推荐
l1t9 分钟前
duckdb、clickhouse、datafusion、cedardb、tableauhyperapi 5种分析型数据库执行递归求数独SQL比较
数据库·sql·clickhouse
泡海椒15 分钟前
JQuick-SQL Worker 生命周期:端口、启动与关闭规范
数据库·sql
麦壳饼31 分钟前
SonnetDB:KNN 查询的距离语义与维度边界
数据库·sonnetdb
知行产研38 分钟前
三年三起收购,拆解卡特彼勒AI并购版图
数据库·人工智能·mysql
2603_954708311 小时前
微能网协调控制箱突破传统微电网架构瓶颈
大数据·数据库·人工智能·架构·能源
l1t1 小时前
一个clickhouse易错的语法问题
数据库·sql·clickhouse
啵啵啵鱼1 小时前
六、联合查询
数据库·oracle
蓝胖的四次元口袋1 小时前
Redis 知识梳理(4)
数据库·redis
foolishlee1 小时前
Neon compute GetPage
数据库