1
SELECT s.* FROM pre_common_member s WHERE s.`username` LIKE('%植物大战僵尸%') LIMIT 100;

like后面接'%关键字%' 这样是用不到索引的,会导致全表扫描,这条SQL查询耗时,见下图:

耗时:27.89秒

----------------------------------------------------------------------------------------

优化方案:

一、如果模糊查询不要求很准确,可以修改为:

1
SELECT s.* FROM pre_common_member s WHERE s.`username` LIKE('植物大战僵尸%') LIMIT 100;

like '关键字%'这样是可以用到索引的,这条SQL查询耗时,见下图:

耗时:0秒

二、如果模糊查询要求很准确,可以修改为:

1
2
3
select s.* FROM pre_common_member s join
(SELECT uid FROM pre_common_member WHERE username LIKE('%植物大战僵尸%') LIMIT 100)tmp
on s.uid=tmp.uid;

这条SQL查询耗时,见下图:

本文转自hcymysql51CTO博客,原文链接:http://blog.51cto.com/hcymysql/1365669 ,如需转载请自行联系原作者

生产环境一个like模糊匹配SQL优化相关推荐

  1. 生产环境慎用 redis 模糊匹配功能!

    Redis是一个key-value存储系统.和Memcached类似,但性能远高于memcached.现在很多大型互联网公司都在使用redis作为自己的缓存实现,但是如果没有合理使用好redis,比如 ...

  2. java的for循环取出数据只是拿到最后一个_一问SQL优化就无从藏身?那只是你对原理的精髓掌握不深

    ​曾几何时,我信誓旦旦的认为只要 SQL 写的好,面试过程永不倒.结果在一次又一次的征途中,「最终还是以完败落下帷幕」. 结果都源于注重使用而忽略原理,从而不知也不了解「SQL」优化应如何面对.读文的 ...

  3. 关于右模糊匹配的优化

    第一思路写法是这样子的: select * from t1 where name like '%北' 但是B+树的算法不支持右模糊匹配,这样写的话会导致全表扫描,所以可以使用索引覆盖的原理,进行这样子 ...

  4. excel模糊匹配sql server数据库

    假如数据库中已经有数据了 步骤1 在Excel表格中新建一页表格用于存储数据库的数据 步骤2 将待输入数据的表格与数据库关联 步骤3 在表格启动时,将表格与数据库进行关联 注意:一定要在ThisWor ...

  5. 笔记12 SQL优化

    笔记12 性能与SQL优化 1.性能优化 复习一下什么是性能: DB/SQL 优化是业务系统性能优化的核心 2.关系数据库 MySQL 什么是关系数据库 数据库设计范式 常见关系数据库 SQL 语言 ...

  6. 文件服务器索引失效,SQL优化 MySQL版 – 避免索引失效原则(一)

    避免索引失效原则(一) 精力有限,剩余的失效原则将会在 <避免索引失效原则(二)>中连载出来,请谅解 作者 : Stanley 罗昊 [转载请注明出处和署名,谢谢!] 避免索引失效的一些原 ...

  7. SQL优化最干货总结 - MySQL(2020最新版)

    小伙伴想精准查找自己想看的MySQL文章?喏 → MySQL专栏目录 | 点击这里 前言 BATJTMD等大厂的面试难度越来越高,但无论从大厂还是到小公司,一直未变的一个重点就是对SQL优化经验的考察 ...

  8. Elasticsearch实战(十一)---前缀模糊匹配搜索 prefix search

    Elasticsearch实战- 前缀模糊匹配搜索 prefix/wildcard/regexp search 文章目录 Elasticsearch实战- 前缀模糊匹配搜索 prefix/wildca ...

  9. SQL Server大负载的生产环境下的性能优化:初识元数据优化

    相信朋友对SQL Server性能调优相关的知识或多或少都有一些了解.虽然说现在NOSQL相关的技术非常的火热,但是RMDB(关系型数据库)与NOSQL是并存的,并且适用在各种的项目中.在一般的企业级 ...

最新文章

  1. 第6章 I/O复用 select 和 poll 函数
  2. oracle x6-2能装2008吗,Sun服务器电源Oracle Server X6-2原装拆机7079395 600 AC
  3. mysql 目录武沛齐_MySQL数据表中的数据操作
  4. CSU-1982 小M的移动硬盘
  5. 如何 给给软件开发 添加 代理_如何与软件开发公司有效沟通
  6. @程序员,Web 开源神器了解一下? | 程序员硬核评测
  7. 三级IP地址的子网划分
  8. PHP7实战开发简单CMS内容管理系统(3) 引入后台首页
  9. 书籍-从Paxos到Zookeeper分布式一致性原理与实践
  10. 鸿蒙os framework,疯壳-鸿蒙OS-HDF驱动框架
  11. 怎样做小游戏挖金子(VC,源码3)
  12. 208个地级市总人口、城市和农村人口、城镇化率面板数据(2010-2019年)
  13. TopFormer 新的语义分割Transformer 结构
  14. 3D Motion Capture(3D运动捕捉)
  15. [React]网易云音乐Web PC端
  16. 对于GISer身份的思考
  17. 关于DSSD算法相关解析
  18. 如何系统地学习 C++ 语言?
  19. 【Unity】加载时 Newtonsoft.Json 提示 Metadata file `Newtonsoft.Json.dll` does not contain valid metadata
  20. 802.1X Radius 服务器搭建

热门文章

  1. android 换肤之style,android换肤总结
  2. mysql search yum_centos7通过yum安装mysql的方法
  3. elasticdump安装_elasticdump备份及恢复es数据
  4. swift_005(Swift的Dictionary 字典)
  5. android英文文献翻译,有关android技术英文文献翻译
  6. 【基本数据结构之'图'】
  7. LeetCode(72):编辑距离
  8. 【算法】均匀的生成圆内的随机点
  9. C#基础—不完整类型(局部类型)
  10. Happy birthday! Hubble