页面树结构
转至元数据结尾
转至元数据起始

(本文档仅供参考)

问题

         mysql大数据量的情况下会报Java heap space,具体报错如下图:

         

问题原因

       默认情况下,MySQL是加载所有数据到内存中的,所以在大数据量的情况下会造成内存溢出的问题。

解决方案

对于此问题,可以通过如下方式勾选【大数据量兼容】来解决:

        勾选前的连接字符串:jdbc:mysql://<servername>:<port>/<database>?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull

        勾选后的连接字符串:jdbc:mysql://<servername>:<port>/<database>?useOldAliasMetadataBehavior=true&useUnicode=true&characterEncoding=GBK&zeroDateTimeBehavior=convertToNull&useCursorFetch=true&defaultFetchSize=10000

        勾选后会添加&useCursorFetch=true&defaultFetchSize=10000,即设置每次查出多少条数据,之后再执行next方法,查取下一批数据,这样每次查出一点,处理一点,避免大数量的情况,造成内存溢出的问题。



         

Viewtracker License Missing

There is a problem with the license of the Viewtracker addon. Please check if you have a valid license.

授权码细节

评论

  1. 张美君 发表:

    useCursorFetch是用使用游标获取数据,defaultFetchSize是每次获取的条数,在next方法中,内存中有下一条数据的话,直接返回,如果内存数据不足的话,会获取defaultFetchSize获取指定行数到内存中