美文网首页
ibatis缓存PrepareStaement问题浅析

ibatis缓存PrepareStaement问题浅析

作者: SaMichael | 来源:发表于2016-01-06 15:05 被阅读57次

线上一台job机器挂了,内存dump下来一看,发现jdbc占了7、8百兆内存。

分析了下发现,ibatis会针对prepared sql缓存对应的PrepareStaement对象,SessionScope类里有个map,在缓存开关打开后,就会缓存到map里。sql的样式如:select * from order where id in(?,?,?...)

由于我们in里面的个数不定,而且很多,生成了一堆不同的sql,导致内存膨胀。解决方法就是将in的个数固定下来

相关文章

网友评论

      本文标题:ibatis缓存PrepareStaement问题浅析

      本文链接:https://www.haomeiwen.com/subject/bbvxkttx.html