今天被一个无where条件的SQL搞的内存不足了



        以下是服务器部分异常

Caused by: java.lang.OutOfMemoryError: getNewTla
    at org.apache.ibatis.type.UnknownTypeHandler.resolveTypeHandler(UnknownTypeHandler.java:51) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.type.UnknownTypeHandler.getNullableResult(UnknownTypeHandler.java:26) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.type.BaseTypeHandler.getResult(BaseTypeHandler.java:29) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.resultset.FastResultSetHandler.applyAutomaticMappings(FastResultSetHandler.java:280) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.resultset.FastResultSetHandler.getRowValue(FastResultSetHandler.java:222) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleRowValues(FastResultSetHandler.java:173) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSet(FastResultSetHandler.java:146) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.resultset.FastResultSetHandler.handleResultSets(FastResultSetHandler.java:112) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.statement.PreparedStatementHandler.query(PreparedStatementHandler.java:40) ~[mybatis-3.0.6.jar:3.0.6]
    at org.apache.ibatis.executor.statement.RoutingStatementHandler.query(RoutingStatementHandler.java:55) ~[mybatis-3.0.6.jar:3.0.6]

Caused by: java.lang.OutOfMemoryError: allocLargeObjectOrArray: [C, size 49736
    at java.lang.StringCoding$StringDecoder.decode(StringCoding.java:133) ~[na:1.6.0_45]
    at java.lang.StringCoding.decode(StringCoding.java:173) ~[na:1.6.0_45]
    at java.lang.String.<init>(String.java:443) ~[na:1.6.0_45]
    at org.apache.commons.httpclient.util.EncodingUtil.getString(EncodingUtil.java:164) ~[commons-httpclient-3.1.jar:na]
    at org.apache.commons.httpclient.util.EncodingUtil.getString(EncodingUtil.java:187) ~[commons-httpclient-3.1.jar:na]
    at org.apache.commons.httpclient.HttpMethodBase.getResponseBodyAsString(HttpMethodBase.java:806) ~[commons-httpclient-3.1.jar:na]
    at ru.paradoxs.bitcoin.http.HttpSession.sendAndReceive(HttpSession.java:71) ~[HttpSession.class:na]



        导致内存用光的原因就是一个百万级的表没有做条件过滤导致的,直接对它们写的代码无语了,前期没有估算过这个表会有这么大的数据量
所以,写SQL的时候如果这个SQL调用频率很高,而且可能用来作为缓存读写,那么就最好要好好考虑下where条件限制,否则会使网站变卦的。
刚开始以为是memcached客户端的问题,还把很多缓存数据移植到redis存储,结果原来是这个导致内存不足,下次一定要小心了。




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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值