接口性能调优之MySQL索引篇

接口性能调优之MySQL索引篇

前言

俗话说好记性不如烂笔头,阔别已久,现在开始坚持更新自己的技术文章,记录工作,生活的所遇到的技术问题及解决方案,培养一个良好习惯吧。

正文

最近工作中处理一个接口性能问题耗费了我一番功夫,虽然是一个简单的问题,一眼就能发现问题根源,但是在解决过程中还是踩了不少坑,特此记录下来以供自己和各位同僚在以后遇到类似的问题能绕过这些坑,好了,废话不多说了,开始进入正题。

问题描述

在这里插入图片描述
如图所示,就是老生常谈的mysql like 右匹配无法使用索引,导致数据查询缓慢

解决方案

  1. 第一反应,使用solr搜索引擎,查询速度杠杠的。但是因为这个查询时多表联合查询加上接口优化的时间周期问题,所以,PASS
  2. 修改索引类型为FULLTEXT(全文搜索),该索引能大幅度提升满足like 左右匹配的需求的查询性能,但是业务需求是必须满足右匹配,该索引最多只能支持全匹配或者左匹配,所以,PASS
  3. (使用)增加一个倒序字段,将要查询的name字段字符串倒序存储在“name_desc”,使用like的左匹配满足业务需求的原始“name”字段的右匹配需求
    在这里插入图片描述

踩坑记录

  1. mysql的索引唯一约束(unique)是指所有记录中字段的值不能重复出现,该约束字母大小写不区分
    在这里插入图片描述

PS

有什么好的方式解决mysql右匹配性能问题的,大家可以在评论区交流一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值