mybatis使用find_in_set导致cpu占用过高
问题表asks有个字段attids用来保存问题附件的id,多个附件用“,”隔开,比如有两个附件,附件id分别为8和9,则该字段保存内容为“8,9”
问题maper:
<resultMaptype="com.ozing.dayi.domains.Ask"id="basicAskRsMapper">
......省略其他
<associationproperty="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以上,该加的索引都加了。
解决方案:
-
分析下原因:ASK与attach的关系是1对多的关联,如楼主那样的配置出来的结构肯定是需要关联查询的。如何解决这样的关联查询呢? 在mapper.xml中不配置这样的关联关系,用程序来控制关联关系。这样就避免了数据库查询时关联查询导致的高IO读取问题,也就降低了CUP的占用。
2013年5月09日 20:53anduo1989
35
004添加评论
数据量特别大,attids字段有索引的话建议拼写sql,SELECT * FROM attachs where attids = 8 union ELECT * FROM attachs where attids = 8这种形式
2349
13129
添加评论
SELECT * FROM attachs WHERE FIND_IN_SET(attaid,#{attids}) 因为这是全表扫描 建议改成attaid in (?) 子查询
转载于:https://blog.51cto.com/congwa/1288603
mybatis使用find_in_set导致cpu占用过高相关推荐
- XSSFWorkbook导致CPU占用很高
XSSFWorkbook导致CPU占用很高 将微信支付的账单同步至云存储 业务需求 科普 解决方案 将微信支付的账单同步至云存储 业务需求 https://pay.weixin.qq.com/wiki ...
- 记一次批量插入导致cpu占用过高问题
一.业务场景 报表系统,获取公司各个地区的业务单子结算数据,计算分配佣金和业绩,并生成excel表格,共三个excel,两个excel中有十个sheet,一个有四个sheet,包括所有明细数据及分类汇 ...
- 解决Ubuntu14.04下使用foxit reader(福昕阅读器)导致CPU占用过高的问题
不管福昕阅读器安装在Windows下还是Linux下都有发生过CPU占用过高的问题,国内外的网友都反映是因为福昕云插件导致的,所以Windows下就很好解决了,直接 控制面板 -> 程序 然后删 ...
- 清理mysql的sleep链接_Mysql Sleep 链接过多导致 CPU 占用过高的问题
架构是 lnmp , 由于业务需要,需要采集很多数据.而且对数据的更新要及时, 于是开了 N 多采集的线程,最近发现 MYSQL 的 CPU 占用长期在 90 以上 于是升级了 CPU 从原本双核升级 ...
- pytorch cpu占用较高
方法一.torch.set_num_threads(int thread) (亲测比较有效) linux有效,不用时cpu占用能到5000%,设置3后,就到到300%. 法二.export OMP_N ...
- Google Chrome Helper CPU占用过高的解决办法
问题概述 在MacOS下,Chrome还是很受欢迎的,但是经常会导致CPU占用过高,比如页面包含Flash,风扇就会呼呼地转.通常来说Chrome如果占用过高的内存,这并不是什么问题,毕竟Chrome ...
- 【linux】oracle数据库cpu占用过高排查方案
将[%cpu]占用率最高的那条的[PID]复制取出,去数据库执行下面语句,即可查询出是哪条sql语句占导致cpu占用很高 SELECT sql_text FROM v$sqltext a WHERE ...
- cpu 占用过高排查
最近一段时间 某台服务器上的一个应用总是隔一段时间就自己挂掉 用top看了看 从重新部署应用开始没有多长时间CPU占用上升得很快 排查步骤 # 1.使用top 定位到占用CPU高的进程PID top# ...
- win10服务器cpu占用过高,Win10 CPU占用率100%怎么办 Win10 CPU占用率过高解决方法
Win10 CPU占用率100%怎么办 ?Win10系统CPU占用率过高的问题比较常见,下面为大家带来 Win10 CPU占用率过高解决方法 ,一起来看看. 方法1: 导致CPU占用的另一个原因可能是 ...
最新文章
- Java是如何实现跨平台的?原理是什么?
- oracle中用START WITH...CONNECT BY PRIOR子句实现递归查询
- CodeForces - 1137B Camp Schedule(KMP的next数组+构造)
- python tkinter输入框_python tkinter-按钮.标签.文本框、输入框
- 现有书形成的网络职业知识体系
- android java 图像显示不出来_Java-Android Studio无法在图像视图中显示图像
- 围棋选手不到30岁就下坡,最大因素是什么?
- 无标度网络(scale-free network)
- 统计学(网易云可汗学院公开课笔记)
- 计算机专业各种书籍整理
- unity黑白滤镜_unity3D 把图片变黑白的Shader
- vue和微信小程序的基本使用区别
- Iperf使用参数详解
- 将桌面的计算机图标改为,不小心把电脑桌面的图标都改为了windows meedia center怎么处理...
- dockers 后台启动
- 49个项目管理过程ITTO整理(详细)
- 《杜拉拉升职记》职场36计
- 云师大计算机调剂,云南师范大学调剂公告
- Windows下win32api下载地址
- CLRS 5.3随机算法
热门文章
- 特斯拉D1芯片遭实名diss:内存到封装都成问题,网友:反正不能公开测评
- 3个可以写进简历的京东AI NLP项目实战,走完这五步就是Top算法工程师
- 贝佐斯旗下媒体爆料:亚马逊因言废人,不管啥岗位,抗议就走人
- AMD发布“全球单核性能最快”CPU,参数碾压英特尔,性能提升47%
- 何恺明团队新作:图像分割精细度空前,边缘自带抗锯齿,算力仅需Mask R-CNN的2.6%...
- 姓名、病史、医疗影像通通泄露,500万人数据库没密码随便看,AI医疗暴露危机...
- MIT媒体实验室主任辞去一切职务:拿了爱泼斯坦170万美金,涉及程序违规,麻省理工宣布彻查...
- 大数据教程(10.6)自定义inputFormat(小文件合并)
- 《CSS揭秘》笔记(一)
- “无现金”社会来临,你还有安全感吗?