Categories: Mysql数据库

Mysql Like查询优化

现在很多的业务都需要用到查询,而且都是模糊查询,对于少量的数据模糊查询完全够用,不需要进行优化,但是一旦数据量上升模糊查询的效率变得很差,在mysql中模糊查询主要是使用like来实现,最近发现总结了一下like的优化,like使用的三种情况:

  • Like  “%keyword”
  • Like  “%keyword%”
  • Like  “keyword%”

使用mysql来解析这三种情况的执行过程:

  1. Like  “%keyword%”:

EXPLAIN SELECT * FROM wp_posts WHERE post_name LIKE ‘%chrome%’;

2. Like  "%keyword"

3. Like  "keyword%"

通过以上三种情况已看出“%like%”,无法使用索引的,优化的第一个方向就是使用将SQL优化成已关键词开头或者结尾的SQL。另外一个优化的方向是使用mysql的LOCATE,INSTR,REGEXP三个函数优化。

最后如果是数据量过大的情况,对搜索时效性特别高,考虑使用独立的搜索引擎来做,如Lucene,ES。

 

5.0
02
Mysql数据库drop、truncate和delete的区别
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Clockwise一款AI日历工具

Clockwise是一款创新的…

3天 ago

Leonardo一个视觉创意AI生成平台

Leonardo.ai提供了一…

3天 ago

DupDub一款终极AI内容创作助手

DupDub 是一个一站式内容…

3天 ago

Murf AI是一款尖端的AI声音生成器

Murf AI是一款尖端的AI…

3天 ago