mybatis使用find_in_set导致cpu占用过高

问题表asks有个字段attids用来保存问题附件的id,多个附件用“,”隔开,比如有两个附件,附件id分别为8和9,则该字段保存内容为“8,9”

问题maper:

<resultMap type="com.ozing.dayi.domains.Ask" id="basicAskRsMapper">
......省略其他
<association property="attachList" column="attids" select="com.ozing.dayi.persistence.AttachMapper.findAttachListByIds"/>
</resultMap>

附件findAttachListByIds的sql如下:

SELECT * FROM attachs WHERE FIND_IN_SET(attaid,#{attids})

用Show Processlist查看,发现经常有上面那句sql,而且mysql经常讲cpu的使用率占到100以上,该加的索引都加了。
因之前遗留问题,无法修改表结构,请问有什么好方法么?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值